培养好的代码习惯除了书写规范外,也应考虑到代码的健壮型,安全性。
知道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