Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> cURL авторизация
Bogdan1975  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 10
Пользователь №: 32001
На форуме: 13 лет, 25 дней
Карма:




Необходима помощь в написании участка кода (PHP) для авторизации на площадке aukro.ua
Самому справиться не получается - очевидно где-то куки теряются.
Сколь будет стоить данная услуга?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26774
Пользователь №: 21350
На форуме: 15 лет, 1 месяц, 14 дней
Карма: 756




тут видимо вот в чём нюанс, данные передаются на http://aukro.ua/sk_post_login.php в GET

session=ODgxZlAIUFIPDgkDVA8BBglbBlIAXVRVCAsEUwEJVVNcXAEEUQ8ABwkOBVdTDVAFCQ8CVVIJYjhlZA%3D%3D
&global_login_hash=67928dfadf7aad0d80061947c7c8f1f872170aec
&session_login_hash=7fb689b8ad05f05c63350c0414ab6dd09f479a70
&url=NmY3MFlCRUQMSRhRRF1DWxgTVh9cV1haRgdQVW5aXlNfCBlAWUYxNjE0
&no_dir=1

вот этот вот хеш, с солью или нет - вес проверяется. также видимо и проверяется хеш referer + session_id


вообщем постарались ребята.

это моё предположение.


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Bogdan1975  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 10
Пользователь №: 32001
На форуме: 13 лет, 25 дней
Карма:




В принципе я эти данные беру из изначальной формы (enter_login.php) из хидденов и передаю дальше.
Там в одном месте идет переадресация не 302 переходом, а мета тегом refresh, соотвтетственно cUrl на этом месте отдает результат. Так вот .... если я этот резльтат отдаю броузеру, то броузер приходит на стартовую страничку залогиненным, а если я передаю cURL'у то остаюсь незалогиненным. Не могу понять в чем дело, но чую, что где-то что-то в куках теряется
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walerus  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чтобы все !
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2881
Пользователь №: 26852
На форуме: 14 лет, 1 месяц, 12 дней
Карма: 162




Bogdan1975 а кто или что мешает перейти Курлом по ссылке которая в рефреше, далее?
Цитата
Так вот .... если я этот резльтат отдаю броузеру, то броузер приходит на стартовую страничку залогиненным, а если я передаю cURL'у то остаюсь незалогиненным.

Как то непонятно, если Вы скриптом, доходите до рефреша и отдаете в броузер результат, после чего, он рефрешится на титульную страницу залогиненым, то получается куки не используются?, т.к. у скрипта (курла) свои куки, у броузера соответственно свои. Либо же что то Вы недоговариваете или недосмотрели сами чего то.
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Bogdan1975  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 10
Пользователь №: 32001
На форуме: 13 лет, 25 дней
Карма:




Цитата (walerus @ 10.04.2012 - 18:15)
... или недосмотрели сами чего то.

Вот и я так думаю, поэтому и обращаюсь - сам не справлюсь, знаний не хватает
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walerus  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чтобы все !
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2881
Пользователь №: 26852
На форуме: 14 лет, 1 месяц, 12 дней
Карма: 162




Bogdan1975 - Свой код не покажите?
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walerus  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чтобы все !
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2881
Пользователь №: 26852
На форуме: 14 лет, 1 месяц, 12 дней
Карма: 162




Заходим на страницу логина
curl_setopt( $curl, CURLOPT_REFERER, 'http://www.google.com/' );
curl_setopt( $curl, CURLOPT_URL, 'http://aukro.ua/mainpage_login.php' );


получаем формы( тут уж как удобнее, регулярки, классы, DOM )
[fields] => Array
(
[
global_login_hash] => acb1f5cdf420c62d630ff80a2309a6c72ae430
[session] => NjgzYQVYB1sODQBRDAACCAZbUFYGC1BaAg1XVlEOXFsAAQZWBwBUAQJbUgcFWbAABRAwUJNTlkOA==
[
session_login_hash] => 585f20715234886ba8b9828a2b6d927bfcb2
[url] => NmYQMSRhRRF1DWxgTVh9cV1haRgdQVW5aXlNfCBlAWUYxNjE0
[cod] => OGZkZlVlNJk
[user_login] =>
[
user_password] =>
)


вот такие поля у меня(параметры полей изменены мной, имена полей оригинальные ).

Указываем свои данные в
[user_login] =>
[
user_password] =>

и отправляем все на
curl_setopt( $curl, CURLOPT_REFERER, 'http://aukro.ua/mainpage_login.php' );
curl_setopt( $curl, CURLOPT_URL, 'https://ssl.aukro.ua/login.php' );
curl_setopt( $curl, CURLOPT_POST, 1);
curl_setopt( $curl, CURLOPT_POSTFIELDS, $form);
$content = curl_exec($curl);

Далее переходим куда нужно
curl_setopt( $curl, CURLOPT_REFERER, 'https://ssl.aukro.ua/login.php' );
curl_setopt( $curl, CURLOPT_URL, 'http://aukro.ua/myaccount/' ); // Сюда
curl_setopt( $curl, CURLOPT_URL, 'http://aukro.ua/tv-video-radio' );// или Сюда
curl_setopt( $curl, CURLOPT_POST, 0);
$content = curl_exec($curl);
print_r($content);


НАСТРОЙКИ КУРЛА

define('ROOT', dirname(__FILE__).'/');
clearstatcache();

//генерируем имя файла для куки
$cookie_filename = ROOT.'temp/'.uniqid(md5(time()), true).'.tmp';

//настраиваем курл
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 5);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; en; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1');
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_filename);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_filename);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);


Все. Логинится с пол тычка.
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Bogdan1975  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 10
Пользователь №: 32001
На форуме: 13 лет, 25 дней
Карма:




<?php
include('simple_html_dom.php'); // подключаем Simple HTML DOM

$url = 'http://aukro.ua'; // URL сайта на котором будем авторизоваться
$urlTo = 'https://ssl.aukro.ua/login.php'; // URL на которой будем слать POST данные
$login = 'xxxxxxx';
$pass = 'xxxxxxxxx';

$ch = curl_init('http://aukro.ua/mainpage_login.php');
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE); // попытка стереть куки
curl_setopt ($ch, CURLOPT_VERBOSE, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // Записываем cookies в файл, чтобы потом можно было их считать
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); // Теперь читаем cookies с файла
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20100101 Firefox/11.0");
$content=curl_exec($ch);
//echo $content;
$html = str_get_html($content);
$global_login_hash=$html->find('form[id=form_login] input[name=global_login_hash]',0)->value;
$session=$html->find('form[id=form_login] input[name=session]',0)->value;
$session_login_hash=$html->find('form[id=form_login] input[name=session_login_hash]',0)->value;
$url=$html->find('form[id=form_login] input[name=url]',0)->value;
$cod=$html->find('form[id=form_login] input[name=cod]',0)->value;
$version=$html->find('form[id=form_login] input[name=version]',0)->value;
//echo $global_login_hash.'<br>';
unset($ch);

$post1='global_login_hash='.$global_login_hash.'&session='.$session.'&session_login_hash='.$session_login_hash.'&url='.$url.'&cod='.$cod;
$post1_1='session='.$session.'&global_login_hash='.$global_login_hash.'&session_login_hash='.$session_login_hash.'&url='.$url.'&cod='.$cod;
//'&version='.$version;
$post2='&user_login='.$login.'&user_password='.$pass;
//echo $post1.'<br>';

$ch = curl_init(); // Инициализируем сеанс CURL
//curl_setopt($ch, CURLOPT_URL, $url); // Заходим на сайт
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Делаем так, чтобы страница не выдавалась сразу в поток, а можно было ее записать в переменную
// не проверять SSL сертификат
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_VERBOSE, TRUE);
// не проверять Host SSL сертификата
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_URL, $urlTo); // Устанавливаем адрес куда будем слать POST данные
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // Записываем cookies в файл, чтобы потом можно было их считать
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); // Теперь читаем cookies с файла
curl_setopt($ch, CURLOPT_REFERER, 'https://ssl.aukro.ua/enter_login.php?'.$post1.'&version='.$version);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20100101 Firefox/11.0");
curl_setopt($ch, CURLOPT_POST, true); // Говорим, что информация будет отправляться методом POST
curl_setopt($ch, CURLOPT_POSTFIELDS, $post1_1.'&version='.$version.$post2); // Передаем POST данные
//Установите эту опцию в ненулевое значение, если вы хотите, чтобы шапка/header ответа включалась в вывод.
//curl_setopt($ch, CURLOPT_HEADER, true);
//curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Иногда бывает, что после отправки данных происходит редирект heaer('Location:...').
// Этот параметр говорит о то, чтобы мы следовали за ними, а не оставались на месте после отправки данных

$html = curl_exec($ch); // Записываем пришедшие данные в переменную
$f=fopen('html1.txt','w');
fwrite($f,$html);
fclose($f);
//$result = curl_multi_getcontent ($ch);
$a1=strpos($html,'/direct_login.php');
$a2=strpos($html,'><P><b>Автоматическое');
$str=substr($html,$a1,$a2-$a1-1);
$f=fopen('str.txt','w');
fwrite($f,$str);
fclose($f);
echo $str.'<br>';
$tm=time();
while ((time()-$tm)<3);
curl_close($ch);
//echo $html;

/*
$tm=time();
while ((time()-$tm)<3);
*/

$ch = curl_init('http://www.aukro.ua'.$str);
//curl_setopt($ch, CURLOPT_URL, 'http://www.aukro.ua'.$str);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Делаем так, чтобы страница не выдавалась сразу в поток, а можно было ее записать в переменную
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // Записываем cookies в файл, чтобы потом можно было их считать
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); // Теперь читаем cookies с файла
curl_setopt ($ch, CURLOPT_VERBOSE, TRUE);
curl_setopt($ch, CURLOPT_REFERER, 'https://ssl.aukro.ua'.$str);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20100101 Firefox/11.0");
curl_setopt($ch, CURLOPT_POST, false); // Говорим, что информация будет отправляться методом POST
curl_setopt($ch, CURLOPT_HTTPGET, true);
//Установите эту опцию в ненулевое значение, если вы хотите, чтобы шапка/header ответа включалась в вывод.
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$html = curl_exec($ch); // Записываем пришедшие данные в переменную
$f=fopen('html2.txt','w');
fwrite($f,$html);
fclose($f);


curl_close($ch); // Закрываем сеанс работы CURL
echo 'html: '.$html.'<br>';
//echo 'result: '.$result.'<br>';

?>
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Bogdan1975  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 10
Пользователь №: 32001
На форуме: 13 лет, 25 дней
Карма:




Цитата (walerus @ 11.04.2012 - 06:51)
Все. Логинится с пол тычка.

Спасибо большое.
Вобщем-то как-то странно отрабатывает: информации о пользователе вверху нет (как это происходит при браузерной авторизации), НО уникальный пользовательский контент выдает smile.gif
Главное теперь в дальнейшем процессе не потерять авторизацию ... smile.gif
Еще раз спасибо.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
walerus  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Чтобы все !
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2881
Пользователь №: 26852
На форуме: 14 лет, 1 месяц, 12 дней
Карма: 162




Не за что, информация скорее всего грузиться Аяксом, я не проверял, но так подозреваю ))
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Alien  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Не работает. И в форме у меня таких данных нет (
Аукро что-то изменили?
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса