iframe是否有一个属性可以阻止对某些域的请求?类似以下内容:
<iframe src="www.example.com" block-domains="google.com"></iframe>
因此,如果block-domains
是我正在寻找的神奇属性,它会告诉iframe阻止对google.com
的所有请求。
我相信最接近这一点的方法是在HEADER声明中设置X-Frame-options。这里的文档指出,您可以提供以下两个选项中的任何一个(第三个选项已过时(:
- DENY:无论页面试图嵌入iframe,都不会显示它
- SAMEORIGIN:iframe只有在被与页面本身具有相同来源的网站调用时才会显示(通过检查框架祖先(
另一个解决方案可能是使用框架祖先作为内容安全策略标头的一部分,这将允许您指定可以嵌入iframe的站点。
据我所知,除非您有权设置要加载的域的响应标头,否则这是不可能的。
如果您有访问权限,则可以将内容安全策略响应标头设置为frame-src
。它限制页面可以在iframe中加载哪些域。
例如:如果位于https://example.com
的网站的响应标头为Content-Security-Policy: frame-src 'self' *.trusted.com
。则只能向iframe内的example.com
和*.trusted.com
域发出请求。