Написал ночью спамер сабжа. Выкладываю в паблек... Для спама нужен акк с подтвержденным мылом, диапазон ид для спама, заголовок и текст для сообщения. PHP: <html> <head> <title>Спамер Ботва.Ру</title> </head> <body> <pre> <form method="post"> Емейл: <input type="text" name="email"><br> Пароль: <input type="text" name="pass"> <br> Задержка: <input type="text" name="sleep" size="5"><br> Стартовой ИД:<input type="text" name="start" size="7"> <br> Конечный ИД: <input type="text" name="end" size="7"> <br> Заголовок: <input type="text" name="title"><br> Текст сообщения: <textarea cols=40 rows=20 name='text'></textarea> <input type="submit" value="Начать спамить!" target="_blank"> </pre> </body> </html> <?php set_time_limit(0); $email = $_POST['email']; $password = $_POST['pass']; $sleep = $_POST['sleep']; $count = $_POST['start']; $countend = $_POST['end']; $title = $_POST['title']; $text = $_POST['text']; if(!$email){echo "Не ввели Email"; exit();} if(!$password){echo "Не ввели Пароль"; exit();} if(!$sleep){echo "Не ввели Задержку"; exit();} if(!$count){echo "Не ввели начальный ID"; exit();} if(!$countend){echo "Не ввели Конечный ID"; exit();} if(!$title){echo "Не ввели Заголовок"; exit();} if(!$text){echo "Не ввели Текс сообщения"; exit();} $ch = curl_init("http://g2.botva.ru/login.php"); 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_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "server=2&email=".urlencode($email)."&passWord=".urlencode($password)); curl_setopt($ch, CURLOPT_REFERER, "http://g2.botva.ru/login.php"); curl_setopt($ch, CURLOPT_COOKIEJAR, $path."botva"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res_index = curl_exec($ch); for($i=$count; $i<$countend; $i++) { $ch = curl_init("http://g2.botva.ru/player.php?id=".$i); 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_REFERER, "http://g2.botva.ru/player.php?id="); curl_setopt($ch, CURLOPT_COOKIEFILE, $path."botva"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res_index = curl_exec($ch); $res_index = str_replace("<div class='blockTitle '>",'***',$res_index); list($str1, $str2) = explode("***", $res_index); $str2 = str_replace("</div>",'***',$str2); list($str1, $str12) = explode("***", $str2); $name = $str1; if(!$str1){} else { $ch = curl_init("http://g2.botva.ru/msg_new.php?to_id=".$i); 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_REFERER, "http://g2.botva.ru/player.php?id="); curl_setopt($ch, CURLOPT_COOKIEFILE, $path."botva"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res_index = curl_exec($ch); $res_index = str_replace("<input type='hidden' name='k' value='",'***',$res_index); list($str1, $str2) = explode("***", $res_index); $str2 = str_replace("'>",'***',$str2); list($str1, $str12) = explode("***", $str2); $k = $str1; $ch = curl_init("http://g2.botva.ru/msg_new.php"); 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_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "k=".$k."&to=".urlencode($name)."&subject=".urlencode($title)."&message=".urlencode($text)); curl_setopt($ch, CURLOPT_REFERER, "http://g2.botva.ru/msg_new.php"); curl_setopt($ch, CURLOPT_COOKIEFILE, $path."botva"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res_index = curl_exec($ch); sleep($sleep); $file=fopen('botva.html',"a+"); fputs($file,$i.'<br>'); fclose($file); $filename = "stop.txt"; $fd = fopen($filename, "r"); $bufer = fread($fd, filesize($filename)); fclose($fd); if($bufer=="stop"){die();} } } echo "Task Completed!!!"; ?> все понятно. заполняем поля и вперед)) каптчи нет) только задержку нужно поставить побольше, а то там выскакивает иногда что нельзя отправлять так часто... я ставил 10 сек то все вроде норм. Еще нужен файлик stop.txt рядом со скриптом. можно туда написать sto, а если будет stop то скрипт останавливается. Вроде все что нужно сказал. С утра скрипт работал, щас хз. Если ктото хочет отблагодарить может дать денюжку, или хотябы + в репу))) п.с Автор не несет никакой ответственности за вред который может нанести этот скрипт и т.д... Всю отвецтвенность вы берете на себя
)) удачи)) кто тестил отпишитесь плизз... интересно ваше мнения. Забыл написать что код достаточно кривоват и что можно было регулярками, но я нелюблю) и с регулярками не очень дружу... все никак не найду времени сесть и нормально их выучить. так что не пинать)
С курлом познакомился надавно так что тонкостей мало знаю. Некрасиво то понятно))) мне главное чтобы работало) Согласен что написана не очень хорошо... ч только учусь))
Суровая правда(( ну да пох)) почитаю... возможно что в 3 строки ну я учусь))) вы наверное тоже с етого начинали
Ну кто с чего) до гуру мне далеко но я стараюсь. может конешно не получается( п.с прочитал тему... можете удалить тему. больше так не буду...
ты стараешься к статусу "гуру" , или к совершенствованию своих знаний в области программирования на php? это очень важно.
к совершенствованию своих знаний в области программирования на php.... вот поетому и тренеруюсь) пошел регулярки учить)
Зря вы не недооцениваете автора. Если он только учится, и написал такой скрипт, - значит уже делает неплохие успехи в обучении.
Любой бомж авторирацию и постинг на курле тебе напишет за еду =) Статус Гуру - не показатель знаний и навыков!!! Особенно которые половину репы набили в "Мировые новости"
$email = $_POST['email']; if(!$email){echo "Не ввели Email"; exit();} --------------- if(!isset($_POST['email']) || ($email = trim($_POST['email']) == '')) die('Не ввели Email');
самое лучшее if(strlen(trim($_POST['email'])) == 0) {die('Не ввели Email');} лучше тока регуляркой по формату +)