使用javascript XMLHTTPReq检索cookie

时间:2012-03-23 00:25:14

标签: javascript xmlhttprequest

只是想知道是否可以使用XMLHTTPReq登录网站并存储cookie。具体来说,我正在登录我登录的网站上的PHPSessionID。

然后我想将此cookie传递给另一个提交表单的请求。

关于如何做到这一点的任何想法?

干杯, 尼克

2 个答案:

答案 0 :(得分:0)

您可以从document.cookie获取自己网站的Cookie。在AJAX回调中,使用a library来解析值并读取您正在寻找的cookie。

当然,如果server设置了Cookie HttpOnly 应该正在做的话),那么它将无法在document.cookie中使用。< / p>

在这篇文章中,您需要重新评估您正在做的事情:

  • 如果表单指向您的网站,您的服务器脚本无论如何都可以访问该Cookie。
  • 如果您要将用户的会话ID发送到其他域,为什么?这是一个巨大的红旗,尖叫着安全问题。

如果您正在登录其他网站,则不会 - same-origin policy阻止您访问其他网站的Cookie。


编辑:由于这是供您自己使用,因此您可以通过不受浏览器原点限制的限制来执行此操作。一些想法:

  • 您可以制作Chrome扩展程序。扩展程序aren't subject to origin restrictions以及开发模型和API与您在常规网页上执行的操作非常相似。
  • 您可以使用Node,它没有任何限制。您可以从命令行调用脚本,但API与您在网页中使用的内容略有不同。
  • 使用您选择的语言和框架POST到登录页面,在响应中获取Set-Cookie标头,并使用它在另一个{{1}中发送Cookie标头形式目标。

答案 1 :(得分:0)

如果XHR和服务器支持browser,您只能使用CORS发送跨源请求。此外,第三方网站需要允许您的网站发送此类请求并接收其回复。如果没有,则不允许您分别发送请求或接收响应。