Регистратор аккаунтов с ручным вводом капчи. Не работает

Тема в разделе "PHP", создана пользователем zikosa, 13 фев 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. zikosa

    zikosa Создатель

    Регистр.:
    25 ноя 2008
    Сообщения:
    22
    Симпатии:
    1
    Недавно регал сайтик один. И захотелось оптимизировать, если вдруг ещё понадобится. Написал скрипт... Но почему то не работает. Смотрел логи сниффера. Вроде всё ОК а письмо не приходит.... Подскажите где ошибка пожалуйста. Люблю кодить, но не люблю непоняток (когда не понимаю траблы)
    Текст такой:
    PHP:
    <?php

    error_reporting
    (7);
    set_time_limit(0);
    $ima $_SERVER['DOCUMENT_ROOT'];

    $moyima "scriptiki";
    $moydomain "wallst.ru";
    $moycat "27";
    $moyemail "mail@yandex.ru";
    $moypass "pass";

    $moylogin $moyima ;


    if (
    $_POST['Text1'])
    {
    preg_match ("|PHPSESSID\t(.*)|" file_get_contents ("1.txt") , $moxnach);
    $identif $moxnach[1];
    $blad=$_POST['Text1'];
    $xxx = (integer) rand (101);
    $yyy = (integer) rand (24);
    $ch curl_init();
    curl_setopt($chCURLOPT_URL"http://wallst.ru/registr.phtml");
    curl_setopt($chCURLOPT_HEADER,1);
    curl_setopt ($chCURLOPT_FAILONERROR1);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_REFERER"http://www.wallst.ru/registr.phtml" );
    curl_setopt($chCURLOPT_COOKIEJAR$ima."/wallst/1.txt");
    curl_setopt($chCURLOPT_COOKIEFILE$ima."/wallst/1.txt");
    curl_setopt($chCURLOPT_COOKIE"PHPSESSID=".$identif);
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS"name=$moyima&login=$moylogin&tmail=$moydomain&cat=$moycat&skript=1&email=$moyemail&pass=$moypass&pass1=$moypass&captcha=$blad&B1.x=$xxx&B1.y=$yyy");
    curl_setopt($chCURLOPT_USERAGENT"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6");
    $data curl_exec($ch);
    curl_close($ch);
    echo 
    $data;
    die ();
    }



    $ch curl_init();
    curl_setopt($chCURLOPT_URL"http://www.wallst.ru/registr.phtml");
    curl_setopt($chCURLOPT_HEADER,0);
    curl_setopt ($chCURLOPT_FAILONERROR1);
    curl_setopt($chCURLOPT_NOBODY,1);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_REFERER"http://www.wallst.ru/index.html");
    curl_setopt($chCURLOPT_COOKIEJAR$ima."/wallst/1.txt");
    curl_setopt($chCURLOPT_COOKIEFILE$ima."/wallst/1.txt");
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_USERAGENT"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6");
    curl_exec($ch);
    curl_close($ch);

    preg_match ("|PHPSESSID\t(.*)|" file_get_contents ("1.txt") , $moxnach);
    $identif $moxnach[1];
    // $randomimg = (integer) rand (0,100000);
    $randomimg $identif;

    $captha fopen ("captcha.jpg""w+");
    $ch curl_init();
    curl_setopt($chCURLOPT_URL"http://www.wallst.ru/captcha.php?sid=".$randomimg);
    curl_setopt($chCURLOPT_HEADER,0);
    curl_setopt ($chCURLOPT_FAILONERROR1);
    curl_setopt($chCURLOPT_NOBODY,0);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_REFERER"http://www.wallst.ru/registr.phtml");
    curl_setopt($chCURLOPT_COOKIE"PHPSESSID=".$identif);
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_USERAGENT"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6");
    $erty curl_exec($ch);
    curl_close($ch);
    fwrite ($captha $erty);
    fclose ($captha);
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>

    <head>
    <meta content="text/html; charset=windows-1251" http-equiv="Content-Type">
    <title>Регистратор</title>

    <style type="text/css">
    .style1 {
        text-align: center;
    }
    </style>
    </head>
    <body onload="document.forms[0].Text1.focus();">
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <table id="table1" style="width: auto; height: auto" align="center">
        <tr>
            <td><img src="captcha.jpg" 
            height="60" width="160"></td>
        </tr>
    </table>
    <br>
    <form method="post">
        <div class="style1">
            <input name="Text1" type="text"><br><br>
            <input type="submit" value="Отправить"></div>
    </form>
    </body>
    </html>
    P.s. Пробовал на денвере. Отвечаю стразу файл куки создаётся, с него и беру сессию. Но если просто использовать его для отправки, то не работает (кажись на локале не работает - по словам разрабов...).
     
  2. grey109

    grey109

    Регистр.:
    3 апр 2007
    Сообщения:
    176
    Симпатии:
    19
    Может проблема в путях? В начале ты читаешь из
    а дальше читаешь/пишешь в

     
    zikosa нравится это.
  3. zikosa

    zikosa Создатель

    Регистр.:
    25 ноя 2008
    Сообщения:
    22
    Симпатии:
    1
    Да нет....
    Просто сначала я явно указываю куда сохранять файл с куки (почему то просто сохранять в текущий каталог не хотело)
    А когда выдираю сессию (потому что посылать не хотело их файла), то оно берёт текущий каталог (в котором выполняется скрипт).
    Здесь всё норм...
    Я вот думаю, может я с получением капчи что то не то замутил?
    хотя раньше когда не использовал куки (когда не посылались автоматом и пришлось их выдирать и посылать насильно) писало, что включите куки...
     
  4. zikosa

    zikosa Создатель

    Регистр.:
    25 ноя 2008
    Сообщения:
    22
    Симпатии:
    1
    Мастера помогите начинающему кодеру !
    Ради принципа интересно победить этот скрипт...
    Уже и не знаю на что грешить :thenks:
     
  5. serjinio

    serjinio

    Регистр.:
    10 май 2007
    Сообщения:
    439
    Симпатии:
    49
    Для начала в начале скрипта пропишите

    PHP:
    ini_set('display_errors',1);
    error_reporting(E_ALL);
    и посмотрите ошибку
    можно сессию взять так preg_match("|Set-Cookie: PHPSESSID=([\d\w]+);|i",$line,$out);
     
  6. zikosa

    zikosa Создатель

    Регистр.:
    25 ноя 2008
    Сообщения:
    22
    Симпатии:
    1
    Спасибо посмотрю....
    Но такой регесп кажется не покатит...
    Файл с куки имееи такой вид:
    HTML:
    # Netscape HTTP Cookie File
    # Перейти по ссылке
    # This file was generated by libcurl! Edit at your own risk.
    
    Перейти по ссылке	FALSE	/	FALSE	0	PHPSESSID	197da56d3ff9748bf8cfd8154040ed02
    Вообще в коде мусора хватает....я уже подумал, что проще напрямую из хедера забирать (судя по всему ваш регесп как раз под это)
    Но в файл всё равно придётся запоминать, либо передавать через POST как ещё один параметр...
    Есть две идеи куда копать:
    1) либо что то с картинкой....
    2) либо возможно ещё какие то параметры надо передавать (скрытые в форме)....но по логам сниффера...вро де всё впорядке...:confused:
     
  7. zikosa

    zikosa Создатель

    Регистр.:
    25 ноя 2008
    Сообщения:
    22
    Симпатии:
    1
    :yahoo:
    Проблема решилась !
    Оказалось, что не отсылалось ещё одно доп. куки (скрытое какое то, в логах не показывалось)
    Всем спасибо кто помогал решить проблему !

    p.s. Нашел через оперу, в логах сниффера фаирфокса и хрома почему то не показывался...
     
  8. serjinio

    serjinio

    Регистр.:
    10 май 2007
    Сообщения:
    439
    Симпатии:
    49
    Да регесп под header...а ,если не секрет ,каким сниффером пользуетесь?
     
  9. HalliK

    HalliK Постоялец

    Регистр.:
    4 фев 2007
    Сообщения:
    117
    Симпатии:
    166
  10. zikosa

    zikosa Создатель

    Регистр.:
    25 ноя 2008
    Сообщения:
    22
    Симпатии:
    1
    HTTP Analyzer пользуюсь. Отличная ВЕЩЬ ! Только есть небольшая трабла с русским языком, что приходит через него (кракозабра получаюся.....хотя может быть у меня что нибудь с кодировкой)
     
Статус темы:
Закрыта.