【问题标题】:reading PHP Session ID in console在控制台中读取 PHP 会话 ID
【发布时间】:2013-12-26 22:38:33
【问题描述】:

我正在尝试通过代码读取所有 cookie 值

cookie = document.cookie

当我执行 alert(cookie) 或 console.log(cookie) 时,我得到以下数据

phpcsls=4; __utma=229677836.804108415.1388064796.1388064796.1388064796.1; __utmb=229677836.5.10.1388064796; __utmc=229677836; __utmz=229677836.1388064796.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)

但是,如果我打开开发者控制台并检查 cookies 文件夹,这就是我所拥有的

我有兴趣从 cookie 中读取 PHPSESSID。我该怎么做?

【问题讨论】:

  • 为什么你需要在javascript中有会话ID?

标签: javascript session-cookies php


【解决方案1】:

通过查看您的开发者控制台,您可以看到您的会话 cookie 设置为 HTTP

表示会话cookie是HttpOnly。看看setcookie() documentation,你会看到:

当 TRUE 时,cookie 将只能通过 HTTP 协议访问。这意味着 cookie 将无法通过 JavaScript 等脚本语言访问。有人建议此设置可以有效地帮助减少通过 XSS 攻击进行的身份盗用(尽管并非所有浏览器都支持),但这种说法经常引起争议。在 PHP 5.2.0 中添加。对或错

由于会话 cookie 是 HttpOnly,因此无法从 Javascript 中读取它。所以简短的回答是:不可能。

【讨论】:

    【解决方案2】:

    如果您检查 http 列,您会看到一个复选标记。这意味着 cookie 是 httpOnly,无法从 javascript 中读取。

    这是一种安全措施,可防止敏感 cookie 通过 javascript 漏洞被窃取。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-24
      • 1970-01-01
      • 1970-01-01
      • 2014-06-30
      • 2012-08-09
      相关资源
      最近更新 更多