ASP中安全优化 java程序员

1.  避免使用 inc作为扩展名

当代码在安全机制不好的Web Sever上运行时,只需在地址栏中输入某个扩展名是inc的文件的url,就可以浏览该文件的内容。这是由于在web Server上,如果没有定义好解析某类型(inc)的数据链接库,该文件就以源码方式显示。

2. 不要把Access数据库放在网站的内部

 当恶意人士获取数据库路径后,就可以轻意获取该数据库,进而肆意修改数据库内容。较好的做法是,将数据库文件放在网站虚拟路径之外。

3.过滤掉字符中的单引号

比如: strname = "I'm haker"

strsql = "select * from user where name=' "&strname&" ' " 

conn.Excute strsql

这样在实际的执行过程中最终的SQL 语句是:

select * from user where name='I'm haker'

由于在 "I'm haker"   中包含一个单引号“‘”,这样系统会认为在字母“I"后面已经结束,但后面仍有字符,于是就提示语法错误。

有人试图从网址中参数中加入这样的字符的化,错误仍会发生。 仅仅错误不可怕,可怕的是错误提示,因为这表明了出错文件的位置,数据库类型等重要信息,于是有人便开始sql注入,或下载数据库。

解决办法是将单引号过滤掉,或者替换为两个单引号。另外的方法是设置IIS 不向客户端输出详细错误信息。

4.禁止向客户端输出详细错误信息。

 

原文地址:https://www.cnblogs.com/java20130725/p/3215988.html