有没有办法禁止从 electron 中的 `file://` 协议提供的嵌套 iframe 访问 `window.top`?
Is there a way to forbidden access `window.top` from nested iframe provided by `file://` protocol in electron?
例如:
- Electron 主入口是
file://main.html
- 嵌套的 iframe 条目是
file://sub.html
在file://sub.html
上下文中可以访问main.html
的window.top
上下文,我知道原因是同源策略file://
。
同file://
协议下禁止访问window.top
有什么解决办法吗?
window.top.location.href
可从 iframe 内部独立分配 SOP。如果您希望限制该行为,请使用 <iframe sandbox="..allow_flags.."
并允许 what you need 除了 allow-top-navigation
标志。
或者,您可以使用 sanbox
directive 内容安全策略。它支持相同的标志,但不仅会影响 iframe,还会影响发布它的页面。
例如:
- Electron 主入口是
file://main.html
- 嵌套的 iframe 条目是
file://sub.html
- 嵌套的 iframe 条目是
在file://sub.html
上下文中可以访问main.html
的window.top
上下文,我知道原因是同源策略file://
。
同file://
协议下禁止访问window.top
有什么解决办法吗?
window.top.location.href
可从 iframe 内部独立分配 SOP。如果您希望限制该行为,请使用 <iframe sandbox="..allow_flags.."
并允许 what you need 除了 allow-top-navigation
标志。
或者,您可以使用 sanbox
directive 内容安全策略。它支持相同的标志,但不仅会影响 iframe,还会影响发布它的页面。