ASP.NET 下 XSS 跨站脚本攻击的过滤方法

防止跨站脚本攻击(XSS)对于WEB开发至关重要,特别是涉及用户自定义内容的平台。文章介绍了如何在ASP.NET下利用基于Java的AntiSamy库来实现既能保留HTML内容,又能确保安全的过滤方法。由于.NET下的Xss过滤工具过于严格,作者将Java版的AntiSamy封装为WebService,并提供了源码和WAR包的下载链接,以便在TOMCAT 7和JDK 1.6环境下运行。通过这个WebService,ASP.NET应用可以调用过滤功能,并通过修改antisamy-config.xml配置文件来调整过滤规则。
摘要由CSDN通过智能技术生成

做 WEB 开发当然要防止跨站脚本攻击了,尤其是开发BLOG、论坛、购物平台等可以让用户添加自定义内容的网站。

有些开发者选择了将所有Html内容都过滤掉,但是这些不适合有些需要将自定义内容开放给用户的网站,比如淘宝、cnblogs、CSDN这样的网站。

在 .net 下也有一些 Xss 过滤工具,但是这些工具都会将HTML过滤的很彻底,比如会将:

<span style="color:red">文字</span>

过滤成

<span>文字</span>

而另外一些,虽然保留了很多元素,但是会有很多安全隐患,比如无法过滤这样的跨站脚本攻击:

<div style="background-image:url(alert('xss'))">文字</div>
<img src="alert('xss too')" />

在 .net 环境下,始终找不到成熟合适的 XSS 过滤工具。

后来在找到了基于 java 开发的 AntiSamy,完全符合既保留用户输入HTML,又能保证安全的过滤工具。AntiSamy是基于白名单的技术,即只保留安全的内容,而且白名单可以让开发者进行配置。虽然AntiSamy也有.net版本,但是那是一个半成品,惨不忍

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值