【问题标题】:How to read Javascript cookie with PHP如何使用 PHP 读取 Javascript cookie
【发布时间】:2010-11-24 23:35:03
【问题描述】:

我正在制作一个 PHP 脚本,它可以像网站上不提供 API 的 API 一样工作。我正在使用 curl 并且该网站正在使用 javascript 发布 cookie,所以我无法阅读它们。

是否有一个 PHP 类或 PHP 模块可以读取 javascript、存储 cookie 并让我使用 curl 将其重新提交到提到的页面?

我在某处读到可以从 Java 中读取 PHP,所以也许 JS/PHP 有类似的方法?

【问题讨论】:

  • pecl.php.net/package/spidermonkey 是一种方法吗?
  • 当您说“该网站正在使用 JavaScript 发布 cookie”时,您的意思是什么?
  • 我的意思是网站使用 javscript setCookie() 函数设置 cookie。如果它是用 PHP 设置的,我可以从 cUrl 函数中读取它。
  • javascript 中没有 setCookie。它只是“document.cookie”。

标签: javascript php cookies


【解决方案1】:

最好的办法是尝试从 php.ini 读取 cookie。 Javascript 不能与 php 本身对话,但 php 可以抓取 javascript 创建的 cookie。

http://php.net/manual/en/features.cookies.php 继续说:

从 客户端将自动包含在内 放入 $_COOKIE 自动全局数组...

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    您需要检查写入 cookie 的 javascript 的逻辑并尝试使用 php 复制它。服务器将无法验证 cookie 是否已由您的脚本或 javascript 设置,因为 javascript 正在客户端运行。

    【讨论】:

      【解决方案3】:

      听起来您的脚本将位于站点和客户端“之间”?例如。客户端调用你的API,你冒充客户端登录网站,然后传回结果?

      如果是这样,那么网站设置的所有 cookie 都将通过页面标题返回。您可以通过调用来访问这些

      curl_setopt($handle, CURLOPT_HEADER, true);
      

      在您请求页面之前。当您获得返回的页面时,它的开头将包含 HTTP 标头。然后,您可以在标题中搜索任何“set-cookie”行,它们将包含站点尝试发送给客户端的 cookie 的详细信息。

      【讨论】:

      • 由javascript设置的cookies是在客户端设置的,因此它们不会包含在服务器的响应中。
      猜你喜欢
      • 1970-01-01
      • 2016-02-16
      • 2014-04-19
      • 1970-01-01
      • 2015-07-13
      • 2011-12-25
      • 1970-01-01
      • 2011-02-23
      • 2015-10-18
      相关资源
      最近更新 更多