Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 绕过iframe沙箱?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 绕过iframe沙箱?

Javascript 绕过iframe沙箱?,javascript,jquery,html,Javascript,Jquery,Html,有人在我的网站上使用 <iframe src="http://example.org" sandbox=""></iframe> 当我的站点与沙盒属性一起使用时,是否有一种编程方式将其重定向到我的站点?如果可以通过X-Frame-Optionsresponse头来保护我的站点,请设置X-Frame-Optionsvalue=“DENY”或X-Frame-Optionsvalue=“SAMEORIGIN”。通过此响应标题设置,您可以保护您的网站免受IFraming或cl

有人在我的网站上使用

<iframe src="http://example.org" sandbox=""></iframe> 

当我的站点与沙盒属性一起使用时,是否有一种编程方式将其重定向到我的站点?

如果可以通过
X-Frame-Options
response头来保护我的站点,请设置
X-Frame-Options
value=“DENY”
X-Frame-Options
value=“SAMEORIGIN”
。通过此响应标题设置,您可以保护您的网站免受IFraming或clickjack攻击


一旦设置了
X-Frame-Options
响应标题,浏览器将收到一条标准消息,如“此内容无法在一个框架中显示”。

沙盒属性将关闭所有javascript以及其他内容。这就是为什么你的frame buster不能工作,也没有其他人提供的javascript

比如说沙箱:

  • iframe中不允许/禁用脚本
  • iframe中不允许/禁用指向其他浏览上下文的链接
测试表明,该属性还禁用元重定向和任何脱离iframe的标准链接

有了这样的严格性,如果重定向是可能的,我会非常惊讶,因为这会破坏沙箱的意义

我建议最好使用noscript标记向在沙盒iframe中查看页面的用户显示消息。您可以设置样式,使人们看不到您的内容


(如果只是一个站点存在问题,那么用htaccess阻止它们可能是一个更好的方法)

我认为最好的办法是用
target=“top”
链接显示您自己的消息。沙盒属性的整个概念是不允许重定向。没有办法绕过这一点,如果你找到一个浏览器制造商可能会找到一种方法来阻止它。这显然是他们的意图


这就是网络的工作原理。当涉及到浏览器时,你不能随心所欲。

@SudiptaKumarMaiti对
X-Frame-Options
的回答是有效的,但正被内容安全策略(CSP)2级所取代,特别是
框架祖先

要完全禁止成帧(类似于
X-Frame-Options:DENY
),请使用以下HTTP标头:

Content-Security-Policy: frame-ancestors 'none';

除了其他选项之外,你可以考虑更多关于IFRAME和框架杀手的信息,那一个,它不会显示我的页面正确吗?但当我加粗文本时,我希望它重定向到我的页面。一旦X-Frame-Options响应头设置为“deny”或“sameorigin”,浏览器将不会收到任何正确的html或脚本,因此无法通过脚本重定向。另一个人使用了sandbox=“allow scripts”,所以我们可以运行javascript。重定向到主iframed站点的最佳方法是什么?他们需要允许顶部导航才能工作。允许脚本也不允许离开iframe。如果还添加了iframe,那么重定向的方法是什么?我想对于每个可能的结果,您都需要回退。1.重定向-适用于正常iFrame 2。使用javascript显示一条消息,说明无法在iframe中查看该消息,并直接访问您的站点-对于使用allow脚本的用户,以及3。完整沙盒的noscript版本。2和3对于用户体验来说不是很好,但是如果你不完全阻止iframe,我真的想不出任何更好的方法。我真的不认为你可以重定向2或3(如果你右键单击并且用户指定在新窗口中打开,2似乎可以工作)。你所能做的就是给他们一个复制粘贴的链接。
Content-Security-Policy: frame-ancestors 'none';