Fe-interview: [html] 第245天 如何能防止网页禁止被iframe嵌入呢?

Created on 16 Dec 2019  ·  9Comments  ·  Source: haizlin/fe-interview

第245天 如何能防止网页禁止被iframe嵌入呢?

我也要出题

html

Most helpful comment

HTTP响应头信息中的X-Frame-Options,可以指示浏览器是否应该加载一个iframe中的页面。如果服务器响应头信息中没有X-Frame-Options,则该网站存在ClickJacking攻击风险。网站可以通过设置X-Frame-Options阻止站点内的页面被其他页面嵌入从而防止点击劫持。

解决方案

  1. deny:表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许
  2. sameorigin:表示该页面可以在相同域名页面的 frame 中展示
  3. allow-from uri:表示该页面可以在指定来源的 frame 中展示

All 9 comments

if(self != top) { 
    top.location = self.location
 }
try{
  top.location.hostname;
  if (top.location.hostname != window.location.hostname) {
    top.location.href =window.location.href;
  }
}
catch(e){
  top.location.href = window.location.href;
}

X-Frame-Options: deny

这个题目的意思是不是如何让网页嵌入iframe?

这个题目的意思是不是如何让网页嵌入iframe?

这个题的意思是如何不让你的网页被他人嵌入到iframe

这个题目的意思是不是如何让网页嵌入iframe?

不是的,意思是:如何不让网页嵌入iframe。比如有些广告的植入是通过iframe的方式,通过判断使得iframe不能被插入,通过iframe插入的广告也可以起到一定的阻止作用。

用 MutationObserver 或 轮询+window.frames 监听是否加入了 iframe 么

补充一个:X-Frame-Options: SAMEORIGIN

HTTP响应头信息中的X-Frame-Options,可以指示浏览器是否应该加载一个iframe中的页面。如果服务器响应头信息中没有X-Frame-Options,则该网站存在ClickJacking攻击风险。网站可以通过设置X-Frame-Options阻止站点内的页面被其他页面嵌入从而防止点击劫持。

解决方案

  1. deny:表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许
  2. sameorigin:表示该页面可以在相同域名页面的 frame 中展示
  3. allow-from uri:表示该页面可以在指定来源的 frame 中展示
Was this page helpful?
0 / 5 - 0 ratings