Я пытаюсь настроить php-страницу, которая использует cURL для доступа к стороннему серверу для входа в систему. Сейчас мой код успешно выполняет вход на сторонний сервер, но поскольку cURL не отправляет cookie SESSION пользователю, пользователь должен войти в себя
Как я могу получить cURL для пересылки файлов cookie клиенту. благодаря
Ознакомьтесь с документацией по следующим параметрам cURL:
CURLOPT_COOKIE CURLOPT_COOKIEFILE CURLOPT_COOKIEJAR
РЕДАКТИРОВАТЬ
Прочитав ваш вопрос более подробно, я боюсь сказать вам, что нет способа писать файлы cookie в браузер клиента, если вы не перенаправляете клиента на сайт, на который вы пытаетесь разрешить их. Куки-файлы браузера работают с моделью безопасности, известной как политика одинакового происхождения . Это в основном означает, что домены могут выдавать файлы cookie только для своих OWN-доменов и не могут выдавать файлы cookie для других доменов. В вашем конкретном случае:
client --CONTACTS--> foo.com --cURL-LOGIN--> bar.com bar.com --bar.com-COOKIE--> foo.com --foo.com-COOKIE--> client client --foo.com-COOKIE--> bar.com (Will not work)
В принципе, foo.com НЕ МОЖЕТ создавать куки на клиенте для bar.com!
В любом случае браузер пользователя, скорее всего, не позволит вам устанавливать файлы cookie для другого домена.
Вы можете в своем PHP-коде войти и получить cookie сеанса для (например, Hotmail). Но вы не сможете передать эту сессию пользователю (так что он / она также войдет в систему).
Это связано с тем, что многие браузеры и конфигурации запрещают установку сторонних файлов cookie.
Вы можете настроить cookie в браузере пользователя, не перенаправляя его на сервер. то, что вам нужно сделать, – это заставить пользователя напасть на вашу php-страницу с помощью curl-кода. то вы можете взять его данные и отправить эти данные на сервер. Но не позволяйте серверу переделывать вас. Установите параметр как CURLOPT_FOLLOWLOCATION как false и установите CURLOPT_HEADER как истинный. Теперь захватите заголовок и извлеките заголовки файлов cookie и местоположения, а затем передайте их как заголовки в клиентский браузер, например заголовок («Местоположение: …) и заголовок (« Set-Cookie » : ….). вы также можете отправить другие заголовки, извлекая их. следующая страница [post] html, не получающая файлы cookie через libcurl, имеет аналогичную ситуацию