使用X-Frame-Options 拒絕網頁被Frame 嵌入
使用X-Frame-Options HTTP 響應頭可以設置是否允許網頁被<frame> 、<iframe> 或<object> 標籤引用,網站可以利用這點避免點擊劫持(clickjacking),以確保網頁內容不被嵌入到其他網站。
X-Frame-Options 選項介紹
X-Frame-Options 有三個可選值
- DENY:不允許其他網頁嵌入本網頁
- SAMEORIGIN:只能是同源域名下的網頁
- ALLOW-FROM uri:指定可以嵌入的地址
簡單來說,設置了DENY 則任何網頁都不能嵌入(包括同一個網站的其他網頁),設置了SAMEORIGIN 則同域名的可以嵌入,指定某個地址可以嵌入使用ALLOW-FROM uri 。
絕大部分瀏覽器都支持,IE 則需要IE8 或以上。一般情況下如果拒絕嵌入,瀏覽器會返回空白頁面(如Chrome/Firefox),不過也有的會顯示錯誤信息。
如何設置X-Frame-Options HTTP 響應頭
PHP
header(‘X-Frame-Options:SAMEORIGIN’);
Apache
Header always append X-Frame-Options SAMEORIGIN
nginx
add_header X-Frame-Options SAMEORIGIN;
IIS
<system.webServer>
…
<httpProtocol>
<customHeaders>
<add name=”X-Frame-Options” value=”SAMEORIGIN” />
</customHeaders>
</httpProtocol>
…
</system.webServer>
對於WordPress博客來說,如果你安裝了WPJAM Basic插件,那麼在「優化設置」> 「功能增強」已經集成了該功能,你只需要按照需求設置即可。