Как правильно использовать функцию setcookie () в PHP - PullRequest
0 голосов
/ 02 января 2012

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

Я знаю, что cURL, используя функцию CURLOPT_COOKIEJAR, сохраняет всю информацию в выбранном вами файле.

Я использовал Live HTTP Headers, плагин для Firefox, чтобы посмотреть, какова информация о set-cookie для форума, который я посещаю. Некоторые вещи были почти такими же в моем файле cookie.txt на хосте моего сайта.

У меня вопрос: как правильно использовать setcookie () для имитации создания файлов cookie, чтобы файлы cookie сохранялись на мобильном телефоне, а не на моем сайте. Поэтому, когда пользователь заходит на мой сайт и входит в систему, это выглядит так, как будто реальный сайт создал для них куки-файл. Что тогда может быть использовано для чтения и ответа на сообщения?

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

(hashtag) Netscape HTTP Cookie File

(hashtag) http://curl.haxx.se/rfc/cookie_spec.html

(hashtag) This file was generated by libcurl! Edit at your own risk.

.devilzgsa.com  TRUE    /hf/sandbox/    FALSE   1355868473  mybb[lastvisit] 1324332473

.devilzgsa.com  TRUE    /hf/sandbox/    FALSE   1355868473  mybb[lastactive]    1324332473

(hashtag)HttpOnly_.devilzgsa.com    TRUE    /hf/sandbox/    FALSE   0   sid ce89856cd25682f4f54e3d550c64bb2f

.devilzgsa.com  TRUE    /hf/sandbox/    FALSE   1355868473  loginattempts   1

(hashtag)HttpOnly_.devilzgsa.com    TRUE    /hf/sandbox/    FALSE   1355868473  mybbuser    1_8xLOcIfhncsaaXMvRjwzeDZhElCOyufBxnzixIfj1PhmhzO6XF

По сути, я решил, что мне нужно создать cookie, в котором есть mybb [lastvisit], mybb [lastactive], sid, loginattempts и mybbuser.

Какие значения я бы использовал в setcookie ()?

Как получить, чтобы при использовании cURL значения автоматически помещались в функцию setcookie () автоматически?

1 Ответ

0 голосов
/ 02 января 2012

Мое мнение было бы избегать использования setcookie полностью;вместо этого используйте сеансы (и, следовательно, удобный $_SESSION суперглобальный) и просто связывайте файлы cookie из cURL с сеансом, который у вас есть с вашим пользователем.

Таким образом, всякий раз, когда они запрашивают новую страницу, ваша система может простоизвлечь соответствующие файлы cookie из сеанса и повторно использовать их для запроса на сторонний сервер.

...