X-Frame-Options
是一個HTTP響應頭,用於控制網頁是否可以巢狀在 <frame>
, <iframe>
, <embed>
或者 <applet>
中。透過設定 X-Frame-Options
頭部,網站管理員可以防止網頁被巢狀到其他網站的框架中,從而有效防範點選劫持等安全風險。下面是關於 X-Frame-Options
的介紹:
1. 作用:
X-Frame-Options
頭部用於指示瀏覽器是否允許當前頁面在<frame>
,<iframe>
,<embed>
或者<applet>
中顯示。- 可以防止點選劫持攻擊,保護使用者資料和隱私。
2. 常見取值:
DENY
: 表示拒絕頁面在任何框架中顯示,即不允許巢狀。SAMEORIGIN
: 表示只允許頁面在相同域名的框架中顯示,防止跨域巢狀。
3. 配置方式:
- 在HTTP響應頭中新增
X-Frame-Options
欄位,並指定為DENY
或SAMEORIGIN
,如X-Frame-Options: DENY
。 - 可以根據具體需求設定不同的取值來限制頁面的巢狀行為。
4. 優勢:
- 防止點選劫持: 透過限制頁面的巢狀行為,有效防範點選劫持等安全風險。
- 提高網站安全性: 增強網站的安全性,保護使用者資料和隱私資訊不受攻擊。
5. 注意事項:
- 合理配置: 根據網站實際情況和安全需求,選擇合適的
X-Frame-Options
配置。 - 與其他安全頭部結合使用: 可以將
X-Frame-Options
與其他安全相關的 HTTP 頭部一起使用,共同加固網站的安全防護。
透過配置適當的 X-Frame-Options
頭部,可以有效地防止網頁被巢狀到其他網站的框架中,提升網站的安全性,保護使用者資料和隱私資訊。
常用配置
- 只容許被baidu.com這個域名巢狀iframe:ALLOW_FROM baidu.com,它包括了子域名和不同埠等,例如a.baidu.com,b.baidu.com:8081等
- 只被同域名網站巢狀:SAMEORIGIN (在a.hello.com中配置,那麼在b.hello.com中也無法巢狀它)
- 拒絕所有網站巢狀:DENY
- 不配置X-Frame-Options:表示開放所有,沒有保護
- 容許本域名和baidu.com進行巢狀:SAMEORIGIN;ALLOW_FROM baidu.com
參考資料:http://tools.ietf.org/html/rfc7034