Авторизация на сайте по кукам

330
16 ноября 2017, 05:30

Скажите пожалуйста, вот у меня есть форма авторизации, классика логин и пароль, и можно как-то один раз авторизоваться по логину и паролю, а после сохранить куки, и без авторизации отправляя эти куки ходить по страницам предназначенных для авторизированных пользователей. Я пробовал сделать так

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $page_url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookie");
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookie");
$result = curl_exec($ch);
echo $result;

В файле my_cookie, хранится куки после успешной авторизации(тоже через cURL).

Но меня всё равно перенаправляет на страницу авторизации.

Answer 1

Минимально необходимый код для работы ниже. Во-первых у вас нет CURLOPT_RETURNTRANSFER, который возвращает содержимое страницы. CURLOPT_COOKIEJAR - это запись кук, в нем нет необходимости, так как вы хотите отдать куку, а не записать.

coockie.txt - это файл уже записанной куки.

$url = 'http://site.ru/';
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/coockie.txt');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$page = curl_exec($ch);
echo $page;

Проверено на своем сайте.

READ ALSO
Пропадает Google reCAPTCHA при аякс запросе

Пропадает Google reCAPTCHA при аякс запросе

Доброго времени суток, у меня на главной странице есть форма отправки вопроса, к ней подключена обычная google recaptcha v2, всё работает отлично,...

347
Код instagram прекратил работу

Код instagram прекратил работу

На своём сайте отображаю фотографии с instagram

285
Почему происходит эта ошибка «The caller does not have permission»?

Почему происходит эта ошибка «The caller does not have permission»?

Мне нужно вызвать google scipt через api, поэтому я сделал следующее

298