当前位置: 首页 > 面试题库 >

如何防止IFRAME重定向顶级窗口

余弘新
2023-03-14
问题内容

一些网站具有用于“破解” IFRAME附件的代码,这意味着,如果将页面A作为IFRAME父页面加载到内部,则P某些Javascript
A会将外部窗口重定向到A

通常,此Javascript如下所示:

<script type="text/javascript">
  if (top.location.href != self.location.href)
     top.location.href = self.location.href;
</script>

我的问题是:作为父页面P的作者而不是内部页面的作者A,如何防止发生A此突破?

PS在我看来,这应该是跨站点安全性违规,但事实并非如此。


问题答案:

几乎可以满足您的要求:

<iframe src="url" sandbox="allow-forms allow-scripts"></iframe>

如果要允许顶级重定向,请指定sandbox="allow-top-navigation"



 类似资料:
  • 问题内容: 发送XMLHttpRequest-s时是否可以防止浏览器遵循重定向(即,获取重定向状态代码并自己处理)? 问题答案: 不符合XMLHttpRequest对象的W3C标准(添加了重点): 如果响应是HTTP重定向: 如果Location头传达的URL的原点与XMLHttpRequest的原点是相同的原点,并且重定向不违反无限循环预防措施,请在遵循相同原点请求事件规则的情况下 透明地遵循重

  • 问题内容: 我需要使用什么JavaScript从iframe重定向父窗口? 我希望他们单击​​超链接,该超链接将使用JavaScript或任何其他方法将父窗口重定向到新URL。 问题答案: 如前所述,将重定向父iframe。

  • vue项目如何防止URL重定向 例如把 进行base64编码 拼接在地址后面,就能跳转到百度,如何设置白名单呢?是前端操作还是后端操作呀 希望大佬能帮忙解答一下

  • 问题内容: 我们有一个完全在AngularJS上运行的网站,其ASP.NET Web API后端具有以下配置:-在Angular上启用了HTML5路由,并且web.config中有一个重写规则,将所有流量定向到index.html- 未安装MVC(仅剃刀页面)-使用表单身份验证和相关cookie进行身份验证 我刚刚添加了Helicon IIS插件,以为我们的开发服务器保护.htaccess密码(仅

  • 我有一行代码: 它工作良好,但用户可以简单地按下Esc键来取消操作。我试图使用一个事件侦听器来防止Esc键被按下,但它只在用户在初始页面时起作用。一旦他们被重定向,它就会停止工作,他们可以在浏览器中快速按Esc键或地址栏旁边的大X来取消重定向。 有什么办法可以让我完全避免? 编辑:我之所以要这样做,是因为在登录时,它们会自动发送到索引页。我在我的数据库中有一个标志,它检查用户是否已经付款。然后在索

  • 我有以下HTML+js代码: 您能解释一下如何重构以下代码,在单击href code后执行,但#不添加到URL并且页面不应该重新加载的代码吗?