在Firefox的HTML页面上,通过Scratchpad运行简单的JS:
alert(document.cookie)
将弹出一个包含cookie中数据的警报。
我收到另一个返回XML的PHP脚本的回复:
<response>
<success>1</success>
<errorMessage></errorMessage>
<updateElements><login_header>Hello UserA</login_header></updateElements>
<return></return>
<redirect></redirect>
</response>
但是,在此页面上使用Scratchpad会导致弹出“未定义”。
命令:
alert(document)
弹出:
[object XMLDocument]
肯定会在请求和响应标头中传递并返回cookie,Firefox“查看页面信息”会将cookie显示为已设置。
我曾尝试过:
dir(document)
在Firefox中但刚回来一个结果。但是在Chrome中,我得到了完整的列表。对于cookie,它说:
[Exception: DOMException: Failed to read the 'cookie' property from 'Document': Access is denied for this document.]
此外,我已经检查过并且没有为此cookie设置HttpOnly:
Set-Cookie: test_installer=123447; path=/; domain=www.test.com
Set-Cookie: test_login=48445501; path=/; domain=www.test.com
在IE 11中进行测试,如果我禁用“XSS Filter”,它运行正常并向我显示cookie。
我猜这必须是Firefox和Chrome中的某种XSS保护。
如何在JS中访问cookie数据?