Вход в cURL не устанавливает cookie в браузере - PullRequest
0 голосов
/ 18 мая 2011

Я уверен, что это очень простая «проблема», которая полностью заключается в отсутствии у меня знаний.

Я занимаюсь исследованиями и тестированием уже несколько часов, и мне не кажется, чтоисправить я хочу.

Ситуация:

У меня есть две части веб-приложения - интерфейс Wordpress и интерфейс CodeIgniter.Когда кто-то входит в Wordpress, мне нужно, чтобы он также регистрировал их в CodeIgniter.

У меня уже есть код для запуска POST для функции входа CodeIgniter.

Система Codeigniter использует файлы cookie для хранения зарегистрированного состояния.

Проблема:

Несмотря на то, что код идет, хотя, и если я выгружаю cookie, кажется, работает в ответе cURL, еслиЯ использую тот же браузер, чтобы зайти в каталог CodeIgniter, пользователь не вошел в систему.

$this->session->set_userdata($userdata);

var_dump($this->session->userdata('username'));

Как только приведенный выше код выполняется, как часть скрипта, в который публикуется скрипт cURL,выбрано правильное имя пользователя для этого пользователя.

Новое понимание

Не существует простого способа сделать это с помощью curl по причинам, столь четко изложенным ниже (спасибовы).Теперь мне нужно найти альтернативу для одновременного входа в систему.

Есть идеи?

Спасибо!

1 Ответ

1 голос
/ 18 мая 2011

Вы должны понимать, что CURL работает на сервере.Если вы специально не примете меры, чтобы передать cookie пользователю обратно, браузер пользователя НЕ будет каким-либо образом / в какой-либо форме / форме участвовать в этом запросе curl.

Кроме того, если скрипт CURL на вашем сервере НЕ отправляетвернув куки-файл codeigniter, источником куки-файла будет сервер, содержащий скрипт curl.Если ваш код codeigniter находится на другом хосте (и особенно на другом домене), он НЕ БУДЕТ РАБОТАТЬ - помните, что куки связаны с сайтом, который их выпустил.Что касается браузера, то этот сайт является сервером сценария скручивания.

С точки зрения реального мира это все равно, что отправить кого-то в магазин за пивом для вас.Вы получаете пиво, но камера безопасности магазина будет видеть только человека, которого вы отправили, и в их кассе будет храниться дебетовая / кредитная карта этого человека, а не ваша.

...