如何正确使用PHP的setcookie()函数

时间:2012-01-02 05:51:40

标签: php curl setcookie

我正在试图弄清楚使用PHP的setcookie()函数正确处理我正在做的事情。我正在创建一个移动友好的网站,使用cURL登录我选择的其他网站(至少现在,计划让其他人使用,一旦我弄明白)。

我知道使用cURL,使用CURLOPT_COOKIEJAR功能会将所有信息保存到您选择的文件中。

我正在使用Live HTTP Headers,这是firefox的插件,可以查看我访问的论坛的set-cookie信息。我的网站主机上的cookie.txt文件中的一些内容几乎相同。

我的问题是,如何正确使用setcookie()来模仿cookie的创建,以便将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

基本上我认为我只需要制作一个包含mybb [lastvisit],mybb [lastactive],sid,loginattempts和mybbuser的cookie。

我会在setcookie()中使用什么值?

如何在使用cURL时将值正确地自动放入setcookie()函数中?

1 个答案:

答案 0 :(得分:0)

我的意见是避免完全使用setcookie;相反,使用会话(因此,方便的$_SESSION超全局)并简单地将来自cURL的cookie与您与用户的会话相关联。

因此,只要他们请求新页面,您的系统就可以从会话中检索相关的cookie,并将其重新用于第三方服务器的请求。