防止sql注入

来源:互联网 发布:诺顿杀毒软件mac 编辑:程序博客网 时间:2024/06/11 12:01

培养好的代码习惯除了书写规范外,也应考虑到代码的健壮型,安全性。

知道sql注入已有一年了,但是都是懵懵懂懂的,今天看了篇文章,通过ms sql查询分析器测试了下,清楚了些。代码的编写应该注意以下几点:

1.数据库链接不要使用sa,建一个针对该程序的数据库帐号,只赋予本数据库的管理权限。

2.对于数字型传递参数,做isnumeric()判断;

3.对于字符型传递参数,做对'单引号的替换;

4.用get方法传递的参数一定检查,用post传递的参数加上request.form("");

5.代替ASP中的Request函数

  Function SafeRequest(ParaName,ParaType)
   '--- 传入参数 ---
   'ParaName:参数名称-字符型
   'ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符) 

   Dim ParaValue
   ParaValue=Request(ParaName)
   If ParaType=1 then
   If not isNumeric(ParaValue) then
   Response.write "参数" & ParaName & "必须为数字型!"
   Response.end
   End if
   Else
   ParaValue=replace(ParaValue,"'","''")
   End if
   SafeRequest=ParaValue
  End function