程序员易犯的20条错误

1.不要将没有过滤的用户输入发送给客户端.

如:Response.Write "You have entered " & Request("UserInput")

2.不要信任客户端和SESSION变量.

3.不要忘记指定字符集.

4.不要在没处理文件路径的情况下让用户访问文件.

如:这样的表达式是不正常的.

http://www.example.net/article.asp?file=new.htm

这将导致以下情况的发生:

http://www.example.net/article.asp?file=/global.asa

http://www.example.net/article.asp?file=/../../../boot.ini

http://www.example.net/article.asp?file=LPT1

http://www.example.net/article.asp?file=\%2e%2e\global.asa

可用以下方法来正确处理该情况:

5.在没有过滤用户输入的情况下,不要进行SQL查询.

6.如果你的数据库内容来自用户的输入,不要相信它.

7.不要将密码或者其它敏感的数据保存在ASP页面中.

8.不要依赖弱安全检查的内容.

如:HTTP重定向,HTML中的TEXT字段的最大长度限制等等.

9.不要将注释留在HTML页面中,特别是一些敏感信息.

10.不要给出太多不必要的信息给客户端.

如在一个登录页面,登录失败的信息就不能太多,如果将:密码是四位,用户不存在等过多的信息给客户端,将会给那些不怀好意的家伙有机可乘!

11.不要在当前路径下写文件,数据库操作.要将文件,数据库文件单独放在一个分区或在WEB根目录这外的目录下.

12.不要在URL中带敏感信息.

13.不要使用INC文件.

因为IIS默认情况下是不处理INC文件的,最好用.INC.ASP扩展名.

14.不要在没有验证用户输入的情况下发送邮件.

15.不要在FORM的HIDDEN字段中保存敏感数据.

16.不要让IIS来处理错误,因为会发送太多的信息给客户端.

最好将IIS的脚本调试改为只发送文本信息.

17.好好的控制你的代码.

将那些不用的,临时的代码都删除,如.test.asp,index.asp.bak

18.在没有测试的情况下不要发布你的代码.

19.不要将不必要的敏感数据存在数据库中,这样万一你的数据库被攻破,也不要造成更大的损失.

20.不要以为这样就够了,还有更多的情况要在实际中被考虑到.

版权声明:
作者:Kiyo
链接:https://www.wkiyo.cn/html/2008-01/i197.html
来源:Kiyo's space
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>