0

我正在使用 PHP cURL 登录一个网站——它会在成功登录后生成一个 cookie 文件。

    $cookieFile = tempnam("/tmp", "curl-cookie"); // Cookie file to login.

php 脚本由对 php 文件的 ajax $.get 请求执行。

现在,由于我已登录,我想导航(不是真正的“导航”,只是直接发出 $.post 请求)到另一个页面,但我想在 Javascript/Ajax 中执行此操作;但是,要成功加载页面,保持身份验证的唯一方法是读取 cookie。我试图弄清楚如何将 cookie 文件中的所有 cookie 设置到 $.post 请求的标头中,以便我得到适当的响应,而不是“您需要登录”响应。

我敢肯定这看起来有点奇怪。但这就是我想要做的。有任何想法吗?

另外请记住,我正在尝试将 cookie 发送到另一个域,而不是我自己的域。不确定这是否是一个问题...

4

1 回答 1

0

如果您在服务器端进行身份验证,收集一个 cookie,您希望重播以进行进一步访问,那么这些访问也需要在服务器端完成。

从客户端的角度来看,cookie 存储在浏览器中。出于明显的安全原因,网页无法修改客户端的 cookie 存储,因此您无法将从您的服务器复制的 cookie“添加”到您希望进行身份验证的任何客户端。

目标网站应公开一个跨站点 js API,如 Facebook、gmail 或其他此类 API,以便识别您的客户。

于 2012-09-30T14:15:07.677 回答