Автоматическая регистрация в сервисе

Discussion in 'PHP' started by programming, 1 Jan 2010.

  1. programming

    programming New Member

    Joined:
    26 Aug 2009
    Messages:
    190
    Likes Received:
    3
    Reputations:
    0
    Не могу понять в чём проблема.
    Нужно написать регилку сайтов в 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($curlCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5');
    curl_setopt($curlCURLOPT_COOKIEJAR'./cook5.txt');
        
    curl_setopt($curlCURLOPT_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($chCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
        
    curl_setopt($chCURLOPT_POST1);
        
    curl_setopt($chCURLOPT_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($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5');
        
    curl_setopt($chCURLOPT_COOKIEJAR'./cook5.txt');
        
    curl_setopt($chCURLOPT_COOKIEFILE'./cook5.txt');
        
    $res curl_exec($ch);
        echo 
    $res;
    Но почему-то скрипт не постит в форму..
    Все переменные описаны..
    Что неверно?
     
    #1 programming, 1 Jan 2010
    Last edited: 1 Jan 2010
  2. Батхед

    Батхед Member

    Joined:
    7 Jan 2009
    Messages:
    56
    Likes Received:
    15
    Reputations:
    0
    curl_setopt($ch, CURLOPT_POST, 0);
    чтобы вводить в формы курлопт_пост ставят на ноль
     
  3. programming

    programming New Member

    Joined:
    26 Aug 2009
    Messages:
    190
    Likes Received:
    3
    Reputations:
    0
    бред.. мы же передаём форме пост запрос.
     
  4. programming

    programming New Member

    Joined:
    26 Aug 2009
    Messages:
    190
    Likes Received:
    3
    Reputations:
    0
    Сайт не передаёт куки.. Не могу вообще понять каким образом происходит проверка капчи..
     
  5. suser

    suser Member

    Joined:
    30 Dec 2009
    Messages:
    35
    Likes Received:
    5
    Reputations:
    0
    Вообщето формы это и есть пост запрос
    PHP:
    <form name="form1" method="post" action="">
    method="post"


    Гдето тут если помог +
     
    #5 suser, 1 Jan 2010
    Last edited: 1 Jan 2010
  6. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    ухахаха...а какже тогда
    PHP:
    <form name="form1" method="GET" action=""
    ? хД
     
  7. suser

    suser Member

    Joined:
    30 Dec 2009
    Messages:
    35
    Likes Received:
    5
    Reputations:
    0
    ухахаха...а какже делают на сайтах обычно? :D посмотрим?
    Я бы не отказался от сайта где регистрация на гет и капчи нет) оо прям стихи :)
     
  8. programming

    programming New Member

    Joined:
    26 Aug 2009
    Messages:
    190
    Likes Received:
    3
    Reputations:
    0
    Нужна регистрация не в yandex, а в yandeg.ru!!!
     
  9. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    suser, один из моих проектов)
    валяется на локалке:

    PHP:
    <form action="register.php" method="GET">
        </
    br>
    <
    table class=border>
    <
    tr>
    <
    td colspan=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'])."');");

    ?>
    Работает не чуть не хуже
     
  10. programming

    programming New Member

    Joined:
    26 Aug 2009
    Messages:
    190
    Likes Received:
    3
    Reputations:
    0
    Быть может вы что-то по теме напишите?
     
  11. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    ReduKToR
    Судя по тому что я вижу, то у тебя в "проэкте" иньекция:
    PHP:
    mysql_query("INSERT INTO `sniff`.`users` (`login` ,`password`) VALUES ('".$_GET['login']."', '".md5($_GET['pass'])."');");
    Переменные с $_GET не обрабатываются addslashes.
     
  12. programming

    programming New Member

    Joined:
    26 Aug 2009
    Messages:
    190
    Likes Received:
    3
    Reputations:
    0
    Проблема решена.
     
  13. Leon1010

    Leon1010 Banned

    Joined:
    25 May 2006
    Messages:
    9
    Likes Received:
    5
    Reputations:
    0
    programming А можно узнать для чего вам авторегистратор на моем рейтинге?
    Может мне вам дефолтный код прохождения капчи проще выдать?))
     
  14. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,174
    Likes Received:
    1,157
    Reputations:
    202
    ReduKToR
    Клевый код, пох что с sql уязвимостью. Да еще и нет проверки на повторы логинов в БД.

    ЗЫ по сабжу, капча елементарно парситься, заходим на страницу регистрации, сейвим куки COOKIJAR далее заходим на капчу с етими куками, сейвим капчу, шлем на АнтиКапча, заполняем ПОСТ форму и сабмитим.
     
  15. Leon1010

    Leon1010 Banned

    Joined:
    25 May 2006
    Messages:
    9
    Likes Received:
    5
    Reputations:
    0
    А лекарство от этого не подскажете?
     
  16. roxblnfk

    roxblnfk Elder - Старейшина

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    делать регу на флэш, которая загружается яваскриптом :)
     
  17. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Если в БД поле login не unique, то да
     
  18. Leon1010

    Leon1010 Banned

    Joined:
    25 May 2006
    Messages:
    9
    Likes Received:
    5
    Reputations:
    0
    А что нибудь по проще без флеша есть?
     
  19. roxblnfk

    roxblnfk Elder - Старейшина

    Joined:
    6 Feb 2010
    Messages:
    189
    Likes Received:
    42
    Reputations:
    19
    придумать то можно.. например динамические формы, подгружаемые яваскриптом переменной функцией с варьирующими значениями переменных, при этом капча будет состоять из множества подгруженных миникартинок в несколько пикселей (картинки генерируются автоматически из условия предварительной генерации капчи скриптом php) и эти картинки динамически двигаются в зависимости от положения курсора. Если курсор навести в требуемую зону (которая каждый раз в разных местах страницы), то мини-картинки составной капчи перейдут в нужне координаты и вырисуется целостная капча, которую юзер должен расшифровать и ввести в динамически сгенерированную форму :)
    всё зависитот извращённости ума и твоих возможностей.