X-Frame-Options HTTP 響應(yīng)頭是用來給瀏覽器指示允許一個頁面可否在 <frame>, <iframe> 或者 <object> 中展現(xiàn)的標記。網(wǎng)站可以使用此功能,來確保自己網(wǎng)站的內(nèi)容沒有被嵌到別人的網(wǎng)站中去,也從而避免了點擊劫持 (clickjacking) 的攻擊。
X-Frame-Options 有三個值:
DENY
表示該頁面不允許在 frame 中展示,即便是在相同域名的頁面中嵌套也不允許。
SAMEORIGIN
表示該頁面可以在相同域名頁面的 frame 中展示。
ALLOW-FROM uri
表示該頁面可以在指定來源的 frame 中展示。
換一句話說,如果設(shè)置為 DENY,不光在別人的網(wǎng)站 frame 嵌入時會無法加載,在同域名頁面中同樣會無法加載。另一方面,如果設(shè)置為 SAMEORIGIN,那么頁面就可以在同域名頁面的 frame 中嵌套。
nodejs設(shè)置代碼:
res.setHeader('X-Frame-Options','DENY');
在chrome的開發(fā)者工具里可以看到

在 Firefox 嘗試加載 frame 的內(nèi)容時,如果 X-Frame-Options 響應(yīng)頭設(shè)置為禁止訪問了,那么 Firefox 會用 about:blank 展現(xiàn)到 frame 中。也許從某種方面來講的話,展示為錯誤消息會更好一點。