PHP & cURL proxy - как сделать многопользовательский jar cookie? - PullRequest
2 голосов
/ 20 апреля 2011

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

Удаленный сайт выдает сеансовый файл cookie, который я могу сохранить в своем банке для файлов cookie.

Я хочу, чтобы у каждого пользователя на моем сайте был уникальный сеанс на удаленном сайте. Мое приложение отлично работает только с одним пользователем (мной), но я не уверен, как сделать его многопользовательским.

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

Существуют ли какие-либо встроенные функции PHP / cURL, которые будут передавать уникальный сеанс с удаленного сервера моим пользователям?

Большое спасибо за любую помощь.

Jack

1 Ответ

3 голосов
/ 20 апреля 2011

В вашем вопросе есть каждый элемент решения, а именно: jar cookie и сессии.

Когда вы предоставляете CARL файл jar cookie, просто дайте ему имя в соответствии с вашим пользователем, например:

$protected_cookie_dir='/cookies/';
$uid=getUser()->id; // get the user id
curl_set_opt($ch,CURLOPT_COOKIEFILE,$protected_cookie_dir.'file_'.$uid.'.data');
curl_set_opt($ch,CURLOPT_COOKIEJAR,$protected_cookie_dir.'jar_'.$uid.'.data');

Важное замечание: Обязательно скрывайте эту папку (возможно, храните ее вне корня вашего документа).

...