我正在尝试从父域(small.example.org)访问子域(example.org)上的cookie集,我想通过页面中的Javascript来实现这一点。
首先,我正在为域small.example.org设置一个cookie
document.cookie = "name=Mike; domain=small.example.org"当我加载small.example.org时,我可以成功地看到我刚刚设置的cookie。加载example.org时,我无法从small.example.org中看到任何cookies。也许没那么奇怪。
因此,我想我需要向子域提出一个请求,以便在主域上包含一些内容,一个脚本标记。
<script src="small.example.org/script.js"></script>现在,当我将请求加载到脚本标记并查看浏览器时,我可以从example.org中看到cookie。
但是当我尝试使用document.cookie从Javascript访问它时,我什么也得不到。
这是预期的行为吗?我认为,只有设置了HTTPOnly标志,才能从Javascript访问cookies。
有办法绕过这件事吗?上面的示例非常接近我的实际用例场景,不幸的是,我不能过多地使用该体系结构。
发布于 2018-04-26 18:32:39
这是预期的行为。
JavaScript只能访问cookie,如果cookie的domain是:
example.org不能读取small.example.org的cookie(尽管相反不是真的)。
请注意,JavaScript的起源是由运行JS的HTML的URL决定的,而不是由加载JS的URL决定的。
你可以:
domainhttps://stackoverflow.com/questions/50049771
复制相似问题