使用curl在另一个域上设置cookie

时间:2010-04-20 00:24:19

标签: php cookies curl

是否可以使用curl或其他方法在另一个域上设置cookie?我可以访问其他域上的php文件,可以设置cookie,但我不知道如何使用curl访问该php文件,然后设置cookie。

2 个答案:

答案 0 :(得分:5)

你可以使用cURL从另一个域获取cookie ID,然后在你的程序中使用它,但如果你的意思是在浏览器上设置一个cookie - 不,你不能,只能为他们所在的域设置cookie生成于。

答案 1 :(得分:3)

如果您尝试设置在第二个站点上自动登录(或类似)的方法,并且您控制该站点,那么您只有一个选项(可能还有更多我不知道的内容)。

  • 生成nonce并存储在db
  • 将当前日期/时间与用户代理关联起来
  • 通过GET
  • 将其附加到第二个站点的链接

现在,当第二个站点收到带有此GET参数的入站链接时,它应该

  • 验证现时存在
  • 验证用户代理未更改
  • 验证nonce创建和请求之间的时间不是太长(我用10分钟)。
  • 删除nonce

被警告

此会话可能被劫持,例如中间的某个人。但是劫持它的人必须做所有这些事情

  • 查看传出的nonce
  • 复制并访问之前原始人
  • 之前的网站
  • 拥有相同的用户代理字符串

记住这一点。

您还可以检查IP是否保持不变,但这可能会导致某些人在IP更改时无法通过身份验证,并且无法帮助多人使用相同的外部IP。