2015-08-24 116 views
17

我有一個動態網站,我必須使其免受點擊劫持攻擊。在數據庫中獲取這些類型的值,同時搜索我知道多一點關於點擊劫持,但確切的是沒有得到這樣的請任何人知道幫助我。如何通過ASP.NET c#中的Clickjacking阻止我們的網站?

+0

托馬斯是塔這是防止點擊劫持攻擊的唯一方法。只需添加全局asax文件和代碼即可。 – shashank

回答

3

儘量抵禦點擊劫持Best-for-now Legacy Browser Frame Breaking Script

一種方式是包括不應該被陷害每一頁「框架斷路器」的劇本。以下方法可防止即使在傳統瀏覽器中構建網頁,也不支持X-Frame-Options-Header。

在文檔的HEAD元素,添加以下內容:在劇本後立即

<style id="antiClickjack">body{display:none !important;}</style> 

,然後刪除該樣式由它的ID:

首先申請一個ID的風格元素本身

<script type="text/javascript"> 
    if (self === top) { 
     var antiClickjack = document.getElementById("antiClickjack"); 
     antiClickjack.parentNode.removeChild(antiClickjack); 
    } else { 
     top.location = self.location; 
    } 
</script> 
+1

您也可以將X-Frame-option添加到Web.config中,或者使用Musakkhir建議的方式。 – funkyCatz

48

X-FRAME-OPTIONS

將此代碼添加到global.asax文件中。

protected void Application_BeginRequest(object sender, EventArgs e) 
{ 
    HttpContext.Current.Response.AddHeader("x-frame-options", "DENY"); 
} 

OR

簡單,就是在你的Web.Config中添加<system.webServer>文件

<httpProtocol> 
    <customHeaders> 
    <add name="X-Frame-Options" value="DENY" /> 
    </customHeaders> 
</httpProtocol> 

這個小片段添加HTTP標頭稱爲X-幀選擇你的Http響應並阻止您的網站在「現代」瀏覽器中加載到iframe中。
有3個值可以X框選項:

  1. DENY:不允許任何網站框架應用程序
  2. SAMEORIGIN:只允許同一個應用程序的網站框架
  3. 允許從:只允許特定的域框架您的應用程序
+1

絕對最好的選擇是配置(y) – DanielV

+0

x-frame-options已被棄用,應該用內容安全策略替換(https://developer.mozilla.org/en-US/docs/Web/HTTP/頁眉/內容安全,策略)。看來,在大多數瀏覽器中,DENY仍然可以正常工作,但是ALLOW-FROM有問題。 – HotN

相關問題