如何禁用Iframe链接网站

web前端开发

共 1601字,需浏览 4分钟

 · 2022-03-16

来源 | www.fly63.com

背景

网络安全是经常被忽略的一个问题,特别是对于小公司,由于用户量不大,可能根本不会考虑这些问题,但是如果能提前避免为什么不提前做防御呢?今天说下如何避免自己的网站被他人钓鱼。

html中提供了了iframe标签,可以用于展示第三方的网页,对于别有用心的人就可以利用这点做一个镜像网站。

<body>    <iframe src="https://www.webqdkf.com"></iframe></body>

通过css把iframe边框设置成透明,再把布局改成和三方一样的大小,整个页面除了域名其他基本就一样了,当然域名也可以注册一个比较相似的。

方案

http有一个X-Frame-Options选项,可以设置不允许其他网站使用iframe链接,比如百度设置了只允许同源网站嵌套,除了设置成SAMEORIGIN,也可以设置成DENY,拒绝所有的网站嵌套。


配置方法

Apache

要将 Apache 配置为发送X-Frame-Options所有页面的标头,请将其添加到站点的配置中:

Header always set X-Frame-Options "SAMEORIGIN"

要配置 Apache 以设置X-Frame-OptionsDENY,请将其添加到您站点的配置中:

Header set X-Frame-Options "DENY"

Nginx

要配置 Nginx 以发送X-Frame-Options标头,请将其添加到您的 http、服务器或位置配置中:

add_header X-Frame-Options SAMEORIGIN always;

IIS

要配置 IIS 以发送X-Frame-Options标头,请将其添加到您站点的Web.config文件中:

<system.webServer>  ...  <httpProtocol>    <customHeaders>      <add name="X-Frame-Options" value="SAMEORIGIN" />    </customHeaders>  </httpProtocol>  ...</system.webServer>

HAProxy

要配置 HAProxy 以发送X-Frame-Options标头,请将其添加到您的前端、侦听或后端配置中:

rspadd X-Frame-Options:\ SAMEORIGIN

或者,在较新的版本中:

http-response set-header X-Frame-Options SAMEORIGIN

Express

要配置 Express 发送X-Frame-Options标头,您可以使用使用frameguard设置标头的头盔。将此添加到您的服务器配置中:

const helmet = require('helmet');const app = express();app.use(helmet.frameguard({ action: 'SAMEORIGIN' }));

或者,我们可以直接使用 frameguard:

const frameguard = require('frameguard')app.use(frameguard({ action: 'SAMEORIGIN' }))

本文完~

学习更多技能

请点击下方公众号

浏览 22
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报