文档.cookie中没有会话cookie。

8

我可以在Chrome 网络检查器中看到 cookie 正在传输:

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:rack.session=BAh7B8kiD3Nlc3Npb25faWQGOgZFRiJFMmYwOTZmZGY1NDEzNGVhYWJhYjcz%0ANmUzYmE5NzYyZmRmM2EyYjk4YWNlNzYzNjdkOGI5MDFiNTU3MDg0NWUzY0ki%0ADXRyYWNraW5nBjsARnsISSIUSFRUUF9VU0VSX0FHRU5UBjsARiItMjVhMmFj%0AZDI5zWU2NTJkY2QyMzA4MzI3NmYxNTk2YjU2ZjBkNmUwNkkiGUhUVFBfQUND%0ARVBUX0VOQ09ESU5HBjsARiItZWQyYjNjYTkwYTRlNzIzNDAyMzY3YTFkMTdj%0AOGIyODM5Mjg0MjM5OEkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsARiItY2M5%0AZjZmZWM2NTJhNDI1OGJjNmQyOTI4NzA1MjE3OWFiMWUwZDE0Nw%3D%3D%0A--82a2216513ed8ce3bbcd0f2fe2162e7c40847499; test=whee
Host:0.0.0.0:4567
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17

但是当我将document.cookie输出到控制台时,我看不到它!完整的服务文件内容:

<script type="text/javascript">
    console.log(document.cookie)
</script>

这种情况正常吗?


6
Cookie 很可能是 http-only。 - Explosion Pills
2
有时候网站不希望JavaScript访问它们的Cookie,因此会设置httponly标志来禁用它。 - Shurmajee
允许JavaScript访问我的会话Cookie并将其存储在本地存储中是否不安全? - jchook
1
我看到这是一个机架应用程序,这让我猜测它是一个Rails应用程序,它默认设置cookie为httponly。Explosion Pills,我建议您将您的回复作为答案,以便可以接受。jchook,如果您有兴趣了解更多信息,我认为这是一个快速简单的开始理解它们的地方:http://www.codinghorror.com/blog/2008/08/protecting-your-cookies-httponly.html - whoughton
1个回答

6

HttpOnly是在Set-Cookie HTTP响应头中包含的附加标志。在生成cookie时使用HttpOnly标志有助于减轻客户端脚本访问受保护cookie的风险(如果浏览器支持该标志)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接