ASP中安全优化
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.禁止向客户端输出详细错误信息。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步