日期:2014-05-17  浏览次数:20911 次

如何解决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。  


谢谢大家.


------解决方案--------------------
把这个文件不包含注入检测文件就可以了
例如:如果你的检测注入的代码是在数据库配置文件中,那么重新定义一个数据库文件使用即可。