|
|
|
|
|
前面介紹過(guò)nginx設(shè)置X-Frame-Options的兩種方法,但是那是針對(duì)整個(gè)網(wǎng)站來(lái)設(shè)置的,如果只想某一個(gè)目錄的網(wǎng)頁(yè)不能被iframe,又該如何設(shè)置呢?本文將解決這個(gè)問(wèn)題。
打開nginx.conf
,文件位置一般在安裝目錄 /usr/local/nginx/conf
里。
假如要禁止 /cache/
這個(gè)目錄的網(wǎng)頁(yè)被iframe,則在server配置代碼里添加如下語(yǔ)句即可:
location /cache/ {
add_header X-Frame-Options SAMEORIGIN;
}
如圖所示:
在location配置里設(shè)置X-Frame-Options
X-Frame-Options 響應(yīng)頭
X-Frame-Options HTTP 響應(yīng)頭是用來(lái)給瀏覽器指示允許一個(gè)頁(yè)面可否在 <frame>, <iframe> 或者 <object> 中展現(xiàn)的標(biāo)記。網(wǎng)站可以使用此功能,來(lái)確保自己網(wǎng)站的內(nèi)容沒(méi)有被嵌到別人的網(wǎng)站中去,也從而避免了點(diǎn)擊劫持 (clickjacking) 的攻擊。
X-Frame-Options 有三個(gè)值:
表示該頁(yè)面不允許在 frame 中展示,即便是在相同域名的頁(yè)面中嵌套也不允許。
表示該頁(yè)面可以在相同域名頁(yè)面的 frame 中展示。
表示該頁(yè)面可以在指定來(lái)源的 frame 中展示。
換一句話說(shuō),如果設(shè)置為 DENY,不光在別人的網(wǎng)站 frame 嵌入時(shí)會(huì)無(wú)法加載,在同域名頁(yè)面中同樣會(huì)無(wú)法加載。另一方面,如果設(shè)置為 SAMEORIGIN,那么頁(yè)面就可以在同域名頁(yè)面的 frame 中嵌套。