Не могу понять в чём проблема. Нужно написать регилку сайтов в yandeg.ru. Вот, что написал: 1. Вытаскиваем капчу.(фрагмент кода) PHP: if( $curl = curl_init() ){ // Задаем ссылку curl_setopt($curl,CURLOPT_URL,'http://yandeg.ru/reg.php'); // Скачанные данные не выводить поток curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5'); curl_setopt($curl, CURLOPT_COOKIEJAR, './cook5.txt'); curl_setopt($curl, CURLOPT_COOKIEFILE, './cook5.txt'); // Скачиваем $out2 = curl_exec($curl); // Закрываем соединение curl_close($curl); } preg_match_all('/name="id" value="(.*)" \/><input name="capchi"/', $out2, $regs2); Всё нормально отображается, капча выводится. 2. Регистрируем: PHP: $ch = curl_init('http://yandeg.ru/reg.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, 'url='.$url.'&name='.$title.'&text='.$shortname.'&cat=2&passw1='.$password.'&passw2='.$password.'&mail='.$email.'&pub=checkbox&comment=checkbox&type=3&id='.$yadhash.'&capchi='.$yadnumber.'&Submit=%D0%E5%E3%E8%F1%F2%F0%E0%F6%E8%FF'); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5'); curl_setopt($ch, CURLOPT_COOKIEJAR, './cook5.txt'); curl_setopt($ch, CURLOPT_COOKIEFILE, './cook5.txt'); $res = curl_exec($ch); echo $res; Но почему-то скрипт не постит в форму.. Все переменные описаны.. Что неверно?
Вообщето формы это и есть пост запрос PHP: <form name="form1" method="post" action=""> method="post" Гдето тут если помог +
ухахаха...а какже делают на сайтах обычно? посмотрим? Я бы не отказался от сайта где регистрация на гет и капчи нет) оо прям стихи
suser, один из моих проектов) валяется на локалке: PHP: <form action="register.php" method="GET"> </br> <table class=border> <tr> <td colspan=2 class=border align=center><b>Введите желаемый логин и пароль!</b></td> </tr> <tr> <td class=border>Логин:</td> <td class=border><input type="text" name="login" ></td></br></tr> <tr> <td class=border>Пароль:</td> <td class=border><input type="password" name="pass" ></td></br></br> <tr> <td class=border><INPUT TYPE="submit" value="Зарегистрироваться!"></td> </TR> </TABLE> </FORM> register.php PHP: <?php include("config.php"); session_start(); mysql_connect($HOST,$BDLOGIN,$BDPASS); mysql_select_db($BDNAME); mysql_query("INSERT INTO `sniff`.`users` (`login` ,`password`) VALUES ('".$_GET['login']."', '".md5($_GET['pass'])."');"); ?> Работает не чуть не хуже
ReduKToR Судя по тому что я вижу, то у тебя в "проэкте" иньекция: PHP: mysql_query("INSERT INTO `sniff`.`users` (`login` ,`password`) VALUES ('".$_GET['login']."', '".md5($_GET['pass'])."');"); Переменные с $_GET не обрабатываются addslashes.
programming А можно узнать для чего вам авторегистратор на моем рейтинге? Может мне вам дефолтный код прохождения капчи проще выдать?))
ReduKToR Клевый код, пох что с sql уязвимостью. Да еще и нет проверки на повторы логинов в БД. ЗЫ по сабжу, капча елементарно парситься, заходим на страницу регистрации, сейвим куки COOKIJAR далее заходим на капчу с етими куками, сейвим капчу, шлем на АнтиКапча, заполняем ПОСТ форму и сабмитим.
придумать то можно.. например динамические формы, подгружаемые яваскриптом переменной функцией с варьирующими значениями переменных, при этом капча будет состоять из множества подгруженных миникартинок в несколько пикселей (картинки генерируются автоматически из условия предварительной генерации капчи скриптом php) и эти картинки динамически двигаются в зависимости от положения курсора. Если курсор навести в требуемую зону (которая каждый раз в разных местах страницы), то мини-картинки составной капчи перейдут в нужне координаты и вырисуется целостная капча, которую юзер должен расшифровать и ввести в динамически сгенерированную форму всё зависитот извращённости ума и твоих возможностей.