天天看點

如何禁用Iframe連結網站

如何禁用Iframe連結網站

背景

網絡安全是經常被忽略的一個問題,特别是對于小公司,由于使用者量不大,可能根本不會考慮這些問題,但是如果能提前避免為什麼不提前做防禦呢?今天說下如何避免自己的網站被他人釣魚。

html中提供了了iframe标簽,可以用于展示第三方的網頁,對于别有用心的人就可以利用這點做一個鏡像網站。

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

通過css把iframe邊框設定成透明,再把布局改成和三方一樣的大小,整個頁面除了域名其他基本就一樣了,當然域名也可以注冊一個比較相似的。

方案

http有一個X-Frame-Options選項,可以設定不允許其他網站使用iframe連結,比如百度設定了隻允許同源網站嵌套,除了設定成SAMEORIGIN,也可以設定成DENY,拒絕所有的網站嵌套。

如何禁用Iframe連結網站

配置方法

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' }))      

本文完~

學習更多技能

請點選下方公衆号

繼續閱讀