“分离域沙盒”(防止JS cookie劫持)是否仍适用于子域? 再详细一点: 我正在运行一个用户可以免费提交Javascript的网站 其他人将预览此Javascript“live” 将有一些基本的措施来阻止像eval这样的淘气者,但不可避免的是,一些措施可能会不幸地漏掉 该网站是mysite.com,我想从myotherdomain.com运行脚本可以防止cookie劫持,但是从js.mysite.com运行脚本也可以防止cookie劫持吗?阅读:小气鬼,在一个额外的域名上省钱 最后,在一个从mysite.com到另一个域或子域的服务器上运行它,是否仍能像加载一个全新的站点一样有效?

“分离域沙盒”(防止JS cookie劫持)是否仍适用于子域? 再详细一点: 我正在运行一个用户可以免费提交Javascript的网站 其他人将预览此Javascript“live” 将有一些基本的措施来阻止像eval这样的淘气者,但不可避免的是,一些措施可能会不幸地漏掉 该网站是mysite.com,我想从myotherdomain.com运行脚本可以防止cookie劫持,但是从js.mysite.com运行脚本也可以防止cookie劫持吗?阅读:小气鬼,在一个额外的域名上省钱 最后,在一个从mysite.com到另一个域或子域的服务器上运行它,是否仍能像加载一个全新的站点一样有效?,javascript,security,cookies,Javascript,Security,Cookies,是,子域是相同的,但属于域Cookie的Cookie除外。同源策略SOP适用于子域、端口、协议和域。如果其中一个属性存在差异,SOP将阻止访问 只要您不在主页上使用,子域将得到SOP保护。如果在主页中使用document.domain,脚本可以在iframe中执行相同的操作,并绕过SOP 现在,如果您想在iFrame之间启用一些安全通信,那么如果您的目标是现代浏览器和手机,那么可以使用window.postMessage 对于较旧的浏览器,有一些技巧可以做,比如 这不会阻止跨站点脚本使用ifra

是,子域是相同的,但属于域Cookie的Cookie除外。

同源策略SOP适用于子域、端口、协议和域。如果其中一个属性存在差异,SOP将阻止访问

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

现在,如果您想在iFrame之间启用一些安全通信,那么如果您的目标是现代浏览器和手机,那么可以使用window.postMessage

对于较旧的浏览器,有一些技巧可以做,比如


这不会阻止跨站点脚本使用iframe中的当前有效cookie向您的域发布帖子。您需要使用一个只有主页中的javascript才知道的秘密令牌,该令牌将针对每个请求发送

最好的方法是在适当的沙箱中运行它,而不是剥离一些代码。我认为你可以做一些事情,比如删除eval;或eval=null;。删除文档或document=null或delete document.cookie可能会给您带来更多的好运。当然,可以在各种浏览器上进行测试


编辑:还考虑使用HTTPUIKE Cookie,这在许多浏览器上阻止它们在JavaScript中访问。它最初是一个IE扩展,但已被大多数主要浏览器IIRC合并。

Cookies可以通过子域读取,即example.com可以通过foo.example.com读取。我不确定如果你没有设置域,我想浏览器会为你存储域。要改变这一点,我认为你需要使用foo.example.com和bar.example.com.Dude,说真的,对于这样的问题,你很可能会从SO那里得到错误的答案。阅读browsersec手册:@TheRook非常感谢您提供手册链接。