nginx 防止其他域名iframe嵌套自己的网站

分类:技术来源:bobo最近更新:2022-07-29浏览:1868

如果防止自己的网站被其他网站iframe引用,除了在页面中直接用js加判断,还可以直接通过nginx添加配置.

前端在js里加判断,缺点很明显,需要每个页面有判断的执行语句(不推荐)

判断当前window属性是不是顶部window对象

if(top.location != self.location){
top.location = self.location;//防止页面被框架包含
}

可以直接通过nginx 配置(推荐)

不仅仅可以让所有页面全部禁止嵌套,还可以通过域名选择性判断。

location / {
#值允许同源域名进行iframe嵌套
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;

………………
}

nginx配置X-Frame-Options有四个参数:

1、DENY 表示该页面不允许在frame中展示,即便是在相同域名的页面中嵌套也不允许。 nginx配置示例:add_header X-Frame-Options DENY;

2、SAMEORIGIN 表示该页面可以在相同域名页面的frame中展示。 nginx配置示例:add_header X-Frame-Options SAMEORIGIN;

3、ALLOW-FROM url 表示该页面可以在指定来源的frame中展示。 nginx配置示例:add_header X-Frame-Options 'ALLOW-FROM https://xxx.xxxxxx.com'; ‘’引号是必须要写的哦!

4、ALLOWALL 表示该页面允许全部来源域名的frame展示。