假设我有一个页面example.com
。此页面包括一个iframe
展示sandbox.example.com
。
---------------------------
| example.com |
| ----------------------- |
| | sandbox.example.com | |
| | (<canvas> + js) | |
| ----------------------- |
---------------------------
沙箱将执行可能具有潜在危险的脚本。沙箱将是我自己的 JavaScript 的混合体,与来自其他来源的不受信任的 JavaScript 代码一起运行。
我将少得多的应用程序路由暴露到sandbox.example.com
,因此同源策略应该防止对任何敏感数据或操作的任何访问。诸如会话 cookie 盗窃和经过身份验证的 ajax 请求更改密码之类的事情是我试图避免的问题类型。
这个想法是有一个可扩展的渲染引擎,由我提供,由其他人的代码扩展,所有这些都被扔到一个单一的页面渲染到一个单一的画布上。
那么这会被认为是安全的吗?如果您登录example.com
并运行 iframe 并在sandbox.example.com
其中执行不受信任的 JS,您是否会面临任何类型的攻击?
子域是否足够?或者如果它是一个完全不同的域,它会安全吗?