server
Новичок
Авторизация посредством curl и открытие страницы уже залогиным пользователем
Мне необходимо реализовать следующее:
На сайте http://site.com/domcom при открытии страницы вызывается скрипт логина на сайте http://site1.com/dom при помощи curl, которому передаются параметры логина и пароля, авторизация проходит успешно, страница второго сайта выводится на странице http://site.com/domcom. Необходимо как-то при помощи того же curl редеректить на страницу http://site1.com/dom, только уже также залогининым.
Я использую следующий код, но curl похоже не передаёт заголовки возвращаемые или какой-то параметр не учтён, если делать вывод вернувшегося html - то отобразится как будто пользователь залогинен, но при редиректе не срабатывает.
Мне необходимо реализовать следующее:
На сайте http://site.com/domcom при открытии страницы вызывается скрипт логина на сайте http://site1.com/dom при помощи curl, которому передаются параметры логина и пароля, авторизация проходит успешно, страница второго сайта выводится на странице http://site.com/domcom. Необходимо как-то при помощи того же curl редеректить на страницу http://site1.com/dom, только уже также залогининым.
Я использую следующий код, но curl похоже не передаёт заголовки возвращаемые или какой-то параметр не учтён, если делать вывод вернувшегося html - то отобразится как будто пользователь залогинен, но при редиректе не срабатывает.
PHP:
<?php
$site = 'http://site1.com/dom';
$post = 'login=xxx&password=xxx';
$curl = curl_init($site);
curl_setopt($curl, CURLOPT_URL, $site);
curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'processHeaders');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_REFERER, $site);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
curl_setopt($curl, CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_HEADER , false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
$result = curl_exec($curl);
curl_close($curl);
header("Location: [url]http://site1.com/dom[/url]");
function processHeaders($curl, $header) {
header($header);
return (strlen($header));
}
exit();
?>