我有一个动态网站,我必须在其中防止点击劫持攻击。在搜索时获取这些类型的值的数据库中,我对点击劫持知之甚少,但究竟是什么没有得到所以请任何知道的人帮助我。
问问题
53502 次
2 回答
86
X-FRAME-选项
在 global.asax 文件中添加此代码。
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("x-frame-options", "DENY");
}
或者
只需将其添加到<system.webServer>
您的Web.Config文件中
<!--Clickjacking security-->
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="DENY" />
</customHeaders>
</httpProtocol>
<!--End clickjacking-->
这个小片段在您的 http 响应中添加了一个名为 x-frame-options 的 http 标头,并防止您的网站在“现代”浏览器的 iframe 中加载。
X-Frame-Options 有 3 个可能的值:
- DENY:不允许任何网站构建您的应用程序
- SAMEORIGIN : 只允许同一个应用站点框架
- ALLOW-FROM:只允许特定域来构建您的应用程序
于 2015-08-24T11:19:55.413 回答
3
防御点击劫持的一种方法是在每个不应加框的页面中包含一个“frame-breaker”脚本。即使在不支持 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>
于 2015-08-24T11:15:22.993 回答