6

假设我有一个页面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,您是否会面临任何类型的攻击?

子域是否足够?或者如果它是一个完全不同的域,它会安全吗?

4

1 回答 1

1

不受信任和不安全的 Javascript 存在风险——无论它是否在 iframe 中运行。但是,同源策略规定沙盒中的任何脚本都不能干扰example.com.

于 2013-07-16T13:13:59.733 回答