2015-08-24 30 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