2016-07-20 22 views
0

我目前正在考慮保護網站免受點擊劫持。 German Wikipedia提供了以下最佳實踐例如可以這樣做:最佳做法點擊頂起預防:如果javascript被禁用,該怎麼辦?

<style> html{display : none ; } </style> 
<script> 
    if(self == top) { 
     document.documentElement.style.display = 'block' ; 
    } else { 
     top.location = self.location ; 
    } 
</script> 

但是,我想知道,如果客戶端已禁用JavaScript是什麼?然後,他將不會顯示該頁面。我們有要求發佈一個功能齊全的非JavaScript版本的應用程序。

任何建議,以實現這一目標?

+0

現在,你可能只能依靠X-Frame-Options。 – Bergi

+0

不幸的是,我們有解決這個需求的指導方針,包括防止點擊劫持的javascript機制:/ – smoes

+0

您可以使用'',但是這將破壞這個瘋狂的方法的整個目的。不啓用JS的情況下不能使用擴展腳本。 – Bergi

回答

2

您可以使用

<script> 
    if (self !== top) { 
     document.documentElement.style.display = 'none'; 
     top.location = self.location; 
    } 
</script> 

仍然躲在情況下,頁面導航嘗試成功攻擊。您也可以沿着self.location.href + " cannot be displayed in a frame."的方向顯示消息。

當然,當JavaScript禁用時(甚至可能不是在全局範圍內,而只是在您的框架中),這不會阻止您的頁面顯示在框架中,因此您應該始終將相應的X-Frame-Options標題一起發送。

相關問題