gpt4 book ai didi

javascript - 'separate domain sandboxing'(防止 JS cookie 劫持)是否仍然适用于子域?

转载 作者:行者123 更新时间:2023-11-28 11:00:06 24 4
gpt4 key购买 nike

更多细节:

  • 我正在运行一个网站,用户可以在其中自由提交 Javascript
  • 其他人将“实时”预览此 Javascript
  • 将会采取基本措施来阻止类似 eval() 的顽皮行为。 ,但不可避免地有些可能会不幸地漏掉
  • 该网站是 mysite.com,我认为从 myotherdomain.com 运行脚本将防止 cookie 劫持,但将从 js.mysite 运行它们。 com 也可以阻止它吗? (阅读:小气鬼,在额外的域名上省钱)
  • 最后,将在 <iframe> 中运行它从 mysite.com 到单独的域或子域仍然可以像加载全新网站一样有效吗?

最佳答案

同源策略 (SOP) 适用于子域、端口、协议(protocol)和域。
如果这些属性之一存在差异,SOP 将阻止访问。

只要你不使用document.domain在您的主页上,子域名将获得SOP保护。如果您在主页中使用 document.domain,脚本可以在 iframe 中执行相同的操作并绕过 SOP。

现在,如果您想在 iframe 之间启用一些安全通信,并且您的目标是现代浏览器和移动设备,则可以使用 window.postMessage

对于较旧的浏览器,有一些技巧可以做,例如 the window.name trick

这不会阻止跨站点脚本(使用 iframe 中当前有效的 cookie 向您的域发送 POST)。您需要使用只有主页中的 javascript 知道的 secret token ,并且将为每个请求发送该 token 。

关于javascript - 'separate domain sandboxing'(防止 JS cookie 劫持)是否仍然适用于子域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3451964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com