程序员易犯的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
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论