如何通过ASP.NET c#中的Clickjacking阻止我们的网站?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (130)

我有一个动态网站,我必须使其免受点击劫持攻击。在数据库中获取这些类型的值,同时搜索我知道多一点关于点击劫持,请帮下我。

提问于
用户回答回答于

防止点击劫持的一种方法是在每个页面中包含一个“框架破坏者”脚本,该框架不应该被框住。以下方法可防止即使在传统浏览器中构建网页,也不支持X-Frame-Options-Header。

在HEAD元素中添加以下内容:

首先将ID应用于样式元素本身:

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

然后在脚本中立即通过它的ID删除该样式:

<script type="text/javascript">
   if (self === top) {
       var antiClickjack = document.getElementById("antiClickjack");
       antiClickjack.parentNode.removeChild(antiClickjack);
   } else {
       top.location = self.location;
   }
</script>
用户回答回答于

X-FRAME-OPTIONS

在global.asax文件中添加此代码。

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

要么

只需将它添加到<system.webServer> Web.Config文件中即可

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

这个小片段为你的http响应添加了名为x-frame-options的http头,并防止你的网站在“现代”浏览器中加载到iframe中。 X-Frame-Options有三种可能的值:

  1. DENY:不允许任何网站构架您的应用程序
  2. SAMEORIGIN:仅允许相同的应用程序站点进行构建
  3. ALLOW-FROM:只允许特定的域框架你的应用程序

扫码关注云+社区

领取腾讯云代金券