[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация на сайте Joomla
AlexTIX
Добрый день, форумчане. Нужна ваша помощь. Суть проблемы такова: пишу программку на языке С++, в которой одной из операция является авторизация на сайте под управлением Joomla. Все бы ничего, если бы не одно но. Кроме стандартных параметров в POST передаются еще два дополнительных:return и token. Вот пример кода:
$cookie = $r[0]['set-cookie'];
preg_match_all('=name\=\"([^\"]*)\" value\=\"([^\"]*)\"=',$r[1],$m, PREG_SET_ORDER);
foreach($m as $k=>$v){
if ($v[1] != 'task' OR $v[2] != 'login') continue;
$return = $m[$k+1][2];
$token = $m[$k+2][1];
break;
}

$r = getUrl(array(
CURLOPT_COOKIE => $cookie,
CURLOPT_URL => 'http://digisat.by',
CURLOPT_POST => true,
CURLOPT_POSTFIELDS=>http_build_query(array(
'username'=>$user,
'passwd'=>$password,
'option'=>'com_user',
'task'=>'login',
$token=>'1',
'return'=>$return,
)),

Насколько я понял эти параметры берутся из кукис. Так как у меня с php туговато, большая просьба к вам, объяснить мне, как получаются эти параметры.
Вот пример:
Кукис:
__utma=18407355.640179286.1326890883.1326890883.1326951313.2; __utmz=18407355.1326890883.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __gads=ID=26ae3b706a5d48d3:T=1326890882:S=ALNI_Mbq1FZ_OFo87xMWaBTOuoKIYnqXlg; a06292f3b8f4794b72af071fa20603e5=f10450a1795d4de3c00e11da394e58fd; __utmc=18407355
параметры:
return=aHR0cDovL3d3dy5zYXRiZWFtcy5jb20vY2hhcnRz

3670cb1f1bf6492bc4e1130f6ca0599b=1
Заранее благодарен за ответы.



Спустя 8 минут, 1 секунда (19.01.2012 - 14:26) TranceIT написал(а):
var_dump ($_COOKIE); //выведет полную информацию о массиве.

Спустя 22 минуты, 19 секунд (19.01.2012 - 14:49) AlexTIX написал(а):
Извините, не совсем понял ваш ответ. Php я править не могу, меня интересует алгоритм получения данных параметров.

Спустя 2 минуты (19.01.2012 - 14:51) Winston написал(а):

Спустя 15 минут, 10 секунд (19.01.2012 - 15:06) AlexTIX написал(а):
Цитата (Winston @ 19.01.2012 - 11:51)
http://phpforum.ru/index.php?showtopic=50868

По вашей ссылке описаны стандартные методы авторизации. С такими сайтами у меня проблем не было бы.

Спустя 7 минут, 14 секунд (19.01.2012 - 15:13) Winston написал(а):
Вместо
Цитата (AlexTIX @ 19.01.2012 - 13:18)
CURLOPT_COOKIE => $cookie,

не пробовал писать?
CURLOPT_COOKIEJAR => $cookie,
CURLOPT_COOKIEFILE => $cookie,
Так же стоит использовать
CURLOPT_FOLLOWLOCATION => 1,
Чтобы выполнялись редиректы

Спустя 16 минут, 38 секунд (19.01.2012 - 15:30) AlexTIX написал(а):
Может быть я не совсем правильно составил вопрос, попробую сначала. Программу я пишу на языке С++. С php я мало знаком. Выше приведенный кусок кода мне дал админ сайта к которому я и пишу программку. Этот кусок кода определяет параметры POST запроса и менять я его не могу. Если с параметрами $user,$password у меня проблем нету, т.к. они просто вводятся в поле ввода, то с параметрами $token и $return загвоздка, т.к. они формируются выше приведенным кодом. Вот этот алгоритм их формирования меня и интересует.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.