WEB安全~X-Frame-Options
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等
- 很多瀏覽器已不再支持ALLOW_FROM特性,所以建議大家直接使用CSP
- 只被同域名網站嵌套:SAMEORIGIN (在a.hello.com中配置,那么在b.hello.com中也無法嵌套它)
- 拒絕所有網站嵌套:DENY
- 不配置X-Frame-Options:表示開放所有,沒有保護
- 容許本域名和baidu.com進行嵌套:SAMEORIGIN;ALLOW_FROM baidu.com
浙公網安備 33010602011771號