常见的问题: 第一、SQL注入漏洞,这个是最为常见的,也是危害最大的,作为电子商务网站,在线购买等行为涉及到金额,所以数据库安全是非常重要的。 第二、上传漏洞,如果用户可以上传图片和文件就需要注意加以区分木马和一般文件。 第三、尽量使用Session而不是cookie,防止cookie伪造。 第四、对js,CSS中的可执行代码进行过滤,防止使用xss注入。 第五、防止搜索引擎中发现你的漏洞。合理使用robots.txt文件,因为搜索引擎很容易找到你一些隐私的东西,黑客可以利用gg进行入侵。 第六、防止暴力破解,加大验证码的难度。 第七、防止跨站注入。 第八、服务器安全,这个比较通用,你可以查查。
做 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版本,但是那是一个半成品,惨不忍睹。于是只好把Java下的AntiSamy封装成WebService,供.net程序调用。当然,这需要你有独立的服务器,虚拟主机是不行了。
以下是我封装好的 Java WebService 源码和 WAR 文件的下载地址:
源码:http://download.csdn.net/detail/lxfan/4746302
War包:http://download.csdn.net/detail/lxfan/4746384
如果只想使用,则只下载WAR文件就可以了。
运行环境是TOMCAT 7,JDK 1.6。
将War包复制到Tomcat安装目录下的webapps目录,然后启动Tomcat即可。
启动Tomcat后,会自动解压缩War包,如需更改过滤配置,可以修改Tomcat目录下的
webapps\XssFilter3\WEB-INF\conf\antisamy-config.xml
保存后,重启Tomcat即可生效。
默认WebService地址是
http://[youserver]:[yourport]/XssFilter3/services/AntiSamyFilter
.net环境下得到wsdl的地址是
http://[youserver]:[yourport]/XssFilter3/services/AntiSamyFilter?wsdl