如果你發現網站被非允許的情況下以iframe的方式嵌入在別的站台下,這時候你可以透過http的header來簡單處理一下:
php
header("X-Frame-Options: DENY");
.htaccess
Header set 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">
< /add>
< /httpprotocol>
...
< /system.webserver >
這樣一來只有在自己的網站下才可以用iframe來內嵌頁面,其他人只會得到一個空白的畫面,Header會出現
X-Frame-Options: SAMEORIGIN
Console中會出現
Refused to display '嘗試遷入iframe的頁面' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
X-Frame-Options相關的設定值
X-Frame-Options: DENY
完全禁止任何 iframe 請求
X-Frame-Options: SAMEORIGIN
只允許同源請求,例如網頁為 test.com/123.php,則 test.com 底下的所有網頁可以嵌入此網頁,但是 test.com 以外的網頁都不能嵌入
X-Frame-Options: ALLOW-FROM http://test-allow.com
只允許指定網頁的請求
資料來源:
https://developer.mozilla.org/zh-TW/docs/Web/HTTP/X-Frame-Options
https://blog.allenchou.cc/x-frame-options/