網路安全(1) -- 防止網頁被frame的幾種方法
阿新 • • 發佈:2019-02-01
在我們平時的開發中,如果網頁沒有做防frame的處理,有可能被駭客利用,進行ClickJacking攻擊,對網站造成損害。
其實在我們的日常開發中,養成這種安全意識的習慣,很容易就可以避免大部分的攻擊力了。
以下幾種方法可以防止被 FRAME 載入你的網站頁面
1. meta 標籤:很多時候沒有效果,可以無視
meta http-equiv="Windows-Target" contect="_top"
2. js 判斷頂層視窗跳轉,可輕易破解,意義不大
function locationTop(){ if (top.location != self.location) { top.location = self.location; return false; } return true; } locationTop();
破解:
// 頂層視窗中放入程式碼
var location = document.location;
// 或者 var location = "";
3. header 控制,絕大部分瀏覽器支援
使用 X-Frame-Options 有三個可選的值:
DENY:瀏覽器拒絕當前頁面載入任何Frame頁面
SAMEORIGIN:frame頁面的地址只能為同源域名下的頁面
ALLOW-FROM:允許frame載入的頁面地址
java程式碼:
response.addHeader("x-frame-options","SAMEORIGIN");
Nginx配置:
add_header X-Frame-Options SAMEORIGIN
Apache配置:
Header always append X-Frame-Options SAMEORIGIN