1. 程式人生 > >網路安全(1) -- 防止網頁被frame的幾種方法

網路安全(1) -- 防止網頁被frame的幾種方法

在我們平時的開發中,如果網頁沒有做防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