ASP SQL注入问题,高分求助

来源:百度知道 编辑:UC知道 时间:2024/05/22 14:48:52
SQL_injdata = "'|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|and"
SQL_inj = split(SQL_Injdata,"|")
If Request.QueryString<>"" Then
For Each SQL_Get In Request.QueryString
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then
Response.write "您提交的内容含有非法字符"
Response.end
end if
next
Next
End If
'Get请求的注入的拦截
If Request.Form<>"" Then
For Each Sql_Post In Request.Form
For SQL_Data=0 To Ubound(SQL_inj)
if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then
Response.write "您提交的内容含有非法字符"
Response.end
end if
next
next
end if

这是我的连接程序前的加的SQL防注入的代码,但是这样,前台程序是控制了防SQL注入,后台程序,编辑录资料的时候,内容里很可能包含单引号,和一些*|%等等的数据,这样就提交不上去数据了,哪位大侠帮帮忙,怎么解决。
但是前台,我人提交|exec|insert|select|delete|update|count|*|%像这样的

后台不能用这个放通用型的防注入的代码的

后台自己对自己的文本需另外写或在原来的基础上,修改

------------

其实这个通用的一点都不好用的
你不如参考一下其他的代码,都有防注入的,只对需要注入的地方做了检测就足够了,

另外sql 注入还有一个非常大的问题,就是通用的上传组件,这个才是最大的漏洞,你必须要改里面的东西,例如路径,名称,等等,都则被别人拿个专门针对上传的黑客工具一下就黑掉了

后台重新用定义一个类
比如前台用 sql.asp
后台用 sql1.asp 两个文件里过滤限制不同

用替换函数replace把那些有危险的字符替换掉。。