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

Статус
В этой теме нельзя размещать новые ответы.

Acidrayne

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



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

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($ch, CURLOPT_URL, 'http://bazzinga.org/inc/keys.php');
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_ENCODING, "");
  curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
  curl_setopt($ch, CURLOPT_TIMEOUT, 120);
  curl_setopt($ch, CURLOPT_FAILONERROR, 1);
  curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/curl/coockie/bazila78.txt');
  curl_setopt($ch, CURLOPT_COOKIEFILE,$_SERVER['DOCUMENT_ROOT'].'/curl/coockie/bazila78.txt');
  curl_setopt($ch, CURLOPT_URL, 'http://bazzinga.org/bazzinga.html');
  $key = curl_exec( $ch );

В коде уже приведены рабочий логин и пароль, но блин сколько не ломал голову так и не смог там авторизироваться с помощью curl! В самой форме авторизации там какой то хитрый код md5 шифрования + отправляется еще пустой запрос в файл key.php вообщем если кто может помочь, буду очень признателен!
 
Добрый день, прошу помощи в написании авторизации для онлайн синонимайзера:

*** скрытое содержание ***

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

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($ch, CURLOPT_URL, 'http://bazzinga.org/inc/keys.php');
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_ENCODING, "");
  curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
  curl_setopt($ch, CURLOPT_TIMEOUT, 120);
  curl_setopt($ch, CURLOPT_FAILONERROR, 1);
  curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
  curl_setopt($ch, CURLOPT_POST, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/curl/coockie/bazila78.txt');
  curl_setopt($ch, CURLOPT_COOKIEFILE,$_SERVER['DOCUMENT_ROOT'].'/curl/coockie/bazila78.txt');
  curl_setopt($ch, CURLOPT_URL, 'http://bazzinga.org/bazzinga.html');
  $key = curl_exec( $ch );
В коде уже приведены рабочий логин и пароль, но блин сколько не ломал голову так и не смог там авторизироваться с помощью curl! В самой форме авторизации там какой то хитрый код md5 шифрования + отправляется еще пустой запрос в файл key.php вообщем если кто может помочь, буду очень признателен!

Авторизация там идет на inc/auth.php, а у тебя на inc/keys.php
 
Пароль можешь так сделать:
PHP:
$pass = md5(qwerty66);
Пост дата что то вроде:
PHP:
$postdata = array (
  'key' => '',
  'login' => 'Acidrayne',
  'pass' => '$pass',
);
 
Да я перепробывал кучу вариантов, но не один не подошел, там есть еще такая примочка:

Код:
function setKey() {
        return $.ajax({
                url: '/inc/keys.php',
                type: 'POST',
                async: false
        }).responseText
        }

и вот теперь смотрите как выглядит авторизация:

<input id="login" onClick="key.value = setKey();pass.value = hex_md5(hex_md5(pass.value)+key.value);" value="Вход"

Тоесть нада сначала отправить пустой post в key.php а потмо уже брать md5 пароля и то что получим из key.php! Я же на этом голову сломал!
 
key.php у тебя что-нибудь возвращает?
 
Думаю это может избавиться от Курла
Дорогие друзья!

После долгих дней и ночей работы мы наконец-то начинаем тестирование первой версии нашего API. Пока что он очень простой, но уже невероятно полезый.
О том, как поучаствовать в тестировании BazzingAPI, можно прочитать тут.

16:58 16/03/2010
 
Пока они его оттестируют, я думаю чт ос такими условиями бетта теста, нужно целый день сидеть и обновлять страницу
 
Привет!
Я хотел сначала просто спросить как успехи с curl'ом, но Ralf удалил то сообщение, мотивируя это тем, что, мол, я посты себе набираю. Поэтому немножко отвечу по теме.
На данный момент процесс авторизации на Bazzinga.org несколько усложнен, поэтому вместо писания ботов, вы могли бы договориться с авторами сайта о недорогой пакетной обработке текстов. Сотрудничать всегда выгодней, чем воевать ;)
 
Судя по форме:
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',async: false}).responseText }$(document).ready(function(){$('#loginForm').ajaxForm({target: '#access',success: function() { $('#auth').hide().fadeIn(7000);$('#access').slideToggle().slideUp(3800);}});});
function gomail(name, domain, zone){location.href="mailto:"+name+"@"+domain+zone;}</script>
С JS не дружу, но думаю ковырнуть нужно именно здесь.
<!-- Дорогие писатели ботов! Желаем в Новом вам Году - гореть в аду, гореть в аду! -->
Порадовало :D
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху