Помощь в Curl авторизации!

Тема в разделе "PHP", создана пользователем Acidrayne, 17 мар 2010.

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

    Acidrayne

    Регистр.:
    30 сен 2007
    Сообщения:
    296
    Симпатии:
    20
    Добрый день, прошу помощи в написании авторизации для онлайн синонимайзера:

    http://bazzinga.org

    вот собственно мой код:

    PHP:
    $url "http://bazzinga.org/inc/auth.php";
      
    $login "Acidrayne";
      
    $password "qwerty66";
      
    $useragent "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
      
    $post"key=".$key."&login=".$login."&pass=".$password;
      
    $post_cur "";
      
    //$key = file_get_contents('http://bazzinga.org/inc/keys.php');
      
    $redir "http://bazzinga.org/bazzinga.html";

    $ch curl_init'http://bazzinga.org/inc/keys.php' );
      
    curl_setopt($chCURLOPT_URL'http://bazzinga.org/inc/keys.php');
      
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
      
    curl_setopt($chCURLOPT_HEADER0);
      
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
      
    curl_setopt($chCURLOPT_ENCODING"");
      
    curl_setopt($chCURLOPT_USERAGENT$useragent);
      
    curl_setopt($chCURLOPT_TIMEOUT120);
      
    curl_setopt($chCURLOPT_FAILONERROR1);
      
    curl_setopt($chCURLOPT_AUTOREFERER1);
      
    curl_setopt($chCURLOPT_POST1);
      
    curl_setopt($chCURLOPT_POSTFIELDS$post);
      
    curl_setopt($chCURLOPT_COOKIEJAR$_SERVER['DOCUMENT_ROOT'].'/curl/coockie/bazila78.txt');
      
    curl_setopt($chCURLOPT_COOKIEFILE,$_SERVER['DOCUMENT_ROOT'].'/curl/coockie/bazila78.txt');
      
    curl_setopt($chCURLOPT_URL'http://bazzinga.org/bazzinga.html');
      
    $key curl_exec$ch );
    В коде уже приведены рабочий логин и пароль, но блин сколько не ломал голову так и не смог там авторизироваться с помощью curl! В самой форме авторизации там какой то хитрый код md5 шифрования + отправляется еще пустой запрос в файл key.php вообщем если кто может помочь, буду очень признателен!
     
  2. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    Авторизация там идет на inc/auth.php, а у тебя на inc/keys.php
     
  3. Jed7777

    Jed7777 Постоялец

    Регистр.:
    17 июл 2008
    Сообщения:
    136
    Симпатии:
    120
    Пароль можешь так сделать:
    PHP:
    $pass md5(qwerty66);
    Пост дата что то вроде:
    PHP:
    $postdata = array (
      
    'key' => '',
      
    'login' => 'Acidrayne',
      
    'pass' => '$pass',
    );
     
  4. Acidrayne

    Acidrayne

    Регистр.:
    30 сен 2007
    Сообщения:
    296
    Симпатии:
    20
    Да я перепробывал кучу вариантов, но не один не подошел, там есть еще такая примочка:

    Код:
    function setKey() {
            return $.ajax({
                    url: '/inc/keys.php',
                    type: 'POST',
                    async: false
            }).responseText
            }
    и вот теперь смотрите как выглядит авторизация:

    Тоесть нада сначала отправить пустой post в key.php а потмо уже брать md5 пароля и то что получим из key.php! Я же на этом голову сломал!
     
  5. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    key.php у тебя что-нибудь возвращает?
     
  6. Acidrayne

    Acidrayne

    Регистр.:
    30 сен 2007
    Сообщения:
    296
    Симпатии:
    20
    Сниффер возвращает сгенерированный ключ, а если просто открыть с браузера то ничего!
     
  7. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    Думаю это может избавиться от Курла
    http://bazzinga.org/api.html
     
  8. Acidrayne

    Acidrayne

    Регистр.:
    30 сен 2007
    Сообщения:
    296
    Симпатии:
    20
    Пока они его оттестируют, я думаю чт ос такими условиями бетта теста, нужно целый день сидеть и обновлять страницу
     
  9. Grohman

    Grohman Писатель

    Регистр.:
    19 мар 2010
    Сообщения:
    4
    Симпатии:
    3
    Привет!
    Я хотел сначала просто спросить как успехи с curl'ом, но Ralf удалил то сообщение, мотивируя это тем, что, мол, я посты себе набираю. Поэтому немножко отвечу по теме.
    На данный момент процесс авторизации на Bazzinga.org несколько усложнен, поэтому вместо писания ботов, вы могли бы договориться с авторами сайта о недорогой пакетной обработке текстов. Сотрудничать всегда выгодней, чем воевать ;)
     
  10. fri

    fri Создатель

    Регистр.:
    14 авг 2009
    Сообщения:
    32
    Симпатии:
    1
    Судя по форме:
    PHP:
    <form style="display:inline;padding:0;margin:0;" method="post" action="inc/auth.php" id="loginForm">
    <
    input type="hidden" name="skey" value=" КЛЮЧ "
    <!-- 
    Дорогие писатели ботовЖелаем в Новом вам Году гореть в адугореть в аду! -->
    <
    input id="login" class="myform" type="text" name="login" size="10" onblur="this.className='myform';
     if(this.value=='') this.value='логин';" 
    onfocus="this.className='myform_focus'; 
    if(this.value=='логин') this.value='';" 
    value="логин"
    <
    input id="pass" class="myform" type="password" name="pass" size="10" onblur="this.className='myform';
     if(this.value=='') this.value='4528sfgsdg40e6a7bb934ef32c3';" 
    onfocus="this.className='myform_focus'; this.value='';" value="4528c4e6a7bb9341c25faf40e36f32c3"
    <
    input id="submit" onClick="pass.value = hex_md5(hex_md5(pass.value)+setKey());" value="Вход" style="margin-bottom:-5px;" type="image" src="/img/loginplz.png"></form>
    И именно он передается в /inc/auth.php post-запросом
    Непосредственно перед этим подгружается /inc/keys.php и в нем тоже ключ но другой.
    PHP:
    <script type="text/javascript">function setKey() { return $.ajax({url'/inc/keys.php',type'POST',asyncfalse}).responseText }$(document).ready(function(){$('#loginForm').ajaxForm({target'#access',success: function() { $('#auth').hide().fadeIn(7000);$('#access').slideToggle().slideUp(3800);}});});
    function 
    gomail(namedomainzone){location.href="mailto:"+name+"@"+domain+zone;}</script>
    С JS не дружу, но думаю ковырнуть нужно именно здесь.
    Порадовало :D
     
Статус темы:
Закрыта.