【问题标题】:How to use PHP's setcookie() function properly如何正确使用 PHP 的 setcookie() 函数
【发布时间】:2012-01-02 05:51:39
【问题描述】:

我正在尝试找出将 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() 函数中?

【问题讨论】:

  • 澄清一下:您想从您的网站创建“假”cookie,然后用户可以直接在其他论坛网站上使用吗?因为那是不可能的。如果 OTOH 请求将始终通过您的服务器并卷曲,那么我认为没有理由首先为您的用户重新创建完全相同的 cookie...
  • 我想我会更具体一点。我的网站devilzgsa.com/hf - 登录按钮将(尚未链接它)将用户带到他们输入用户名和密码的登录页面。然后我使用 cURL 将用户登录到不同的站点。当他们登录时,我告诉脚本根据用户名创建一个 cookie。

标签: php curl setcookie


【解决方案1】:

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

因此,每当他们请求新页面时,您的系统都可以简单地从会话中检索相关的 cookie,并将它们重新用于向第三方服务器的请求。

【讨论】:

  • 介意我如何将 cookie 从 cURL 准确关联到 $_Session?我问这一切的主要原因是,我不想钓鱼帐户。我现在使用 cURL CURLOPT_COOKIEJAR 的方式我基本上是网络钓鱼帐户(我认为)?我只是想要它,所以当有人访问我的移动网站上的登录页面时,它使用 cURL 将用户登录到另一个网站。它加载 cookie 以读取线程并将回复发布到线程。
  • 您可以尝试使用 PHP 文档中 VariableStream wrapper 示例的变体来将 PHP 变量注册为 curl 的 cookie jar - 我不知道这是否可行,但不应该太很难尝试。
猜你喜欢
  • 2016-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-14
  • 1970-01-01
  • 1970-01-01
  • 2013-07-16
  • 2014-11-01
相关资源
最近更新 更多