0

对于我的示例,我将使用以下变量:

  • first_site.com = 我将在其中执行 cookie 获取命令的网站

  • specified_site.com = 我的第二个网站,客户已经登录

  • my_server.com = 我的服务器地址,我有一个 php 脚本来处理接收到的数据

用户已经连接到 first_site.com 和 specified_site.com

我想从“first_site.com”获取cookie并将它们保存到“my_server.com”

有什么方法可以做到这一点,用 php 或 javascript 吗?

问候

4

3 回答 3

1

如果两个站点都是您的,并且您可以访问两个站点上的服务器端代码,那么您可以让第一个服务器使用服务器到服务器通信将 cookie 转发到第二个服务器。

浏览器内置的“同源”保护试图阻止您从纯客户端代码执行您想做的事情(不涉及两个服务器)。

这是因为只有当您的页面位于 cookie 所属的域中时,您才能检索 cookie。而且,您只能将 cookie(使用 ajax)发送到与页面位于同一域的服务器。因此,您不能将一个域的 cookie 发送到另一台服务器。这是一个明显的安全违规行为,浏览器打算用它的“同源”保护来阻止它。您可以在此处阅读有关这些保护的信息。

如果您有来自第一个站点的合作服务器,您可以让该服务器在它与原始页面请求一起发送时检索 cookie,然后该服务器可以使用服务器到服务器通信将 cookie 发送到您的第二个站点. 如果第一个域不是您可以修改服务器端代码的域,那么显然您不能在该服务器上运行代码来执行此操作。

于 2013-03-21T21:22:17.657 回答
0

没有办法做到这一点,因为这将是一个巨大的安全漏洞。

想象一下,如果我创建一个网站来保存你所有的 PHPSESSID,我可以在许多网站上访问你的个人资料......

于 2013-03-21T21:21:35.783 回答
0

这些是少数几个选项。虽然不是最好的。一些帮助您入门的一般指示:

一个。您也可以考虑设置 VPN。这会将两台服务器的 IPS 列入白名单。

  1. 您可以创建一个包含您的 cookie 信息的 REST API(虽然不公开)!!
  2. 在 App1 上提供您的 cookie 数据;
  3. 使您的 cookie 可用作可通过请求/响应对象提供的 Cookie 对象
  4. 使用“同源”政策;你可以让 app2 和 app1 对话
于 2013-03-21T21:33:57.543 回答