如何解决POST注入与调用 BinaryRead????
各位大哥,
小弟在论坛程序加入了防止POST注入的代码,(代码如下). 我把这段代码加在CONN.ASP,非常有用. 但是用了以后,就不能上传了,与论坛自带的上传程序冲突了. 因为上传是,那个上传条是REQUEST BINARYREAD, 而所有的表单都要经过这个REQUEST FORM. 所以我想就冲突.
请问有什么办法,不让他们冲突呢!我很想保留这段防止POST驻入的代码.
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '防POSTSQL注入 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
dim sql_injdata
SQL_injdata = "exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|xp_cmdshel|net user|drop "
SQL_inj = split(SQL_Injdata, "| ")
If Request.Form <> " " Then
For Each Sql_Post In Request.Form
For SQL_Data=0 To Ubound(SQL_inj)
if instr (LCase(Request.Form(Sql_Post)),Sql_Inj(Sql_DATA))> 0 Then
Response.Write " <Script Language= 'javascript '> {alert( '请不要在参数中包含非法字符! ');history.back(-1)} </Script> "
Response.end
end if
next
next
end if
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '防POSTSQL注入 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '上传错误提示 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
错误 'ASP 0206 : 80004005 '
不能调用 BinaryRead
使用 Request.Form 集合之后,不能调用 BinaryRead。
谢谢大家.
------解决方案--------------------把这个文件不包含注入检测文件就可以了
例如:如果你的检测注入的代码是在数据库配置文件中,那么重新定义一个数据库文件使用即可。