如何过滤单引号??
一个过滤函数..
Function SafeRequest(ParaName,ParaType)
Dim ParaValue
ParaValue=trim(Request(ParaName))
If ParaType=1 then
If not isNumeric(ParaValue) then
Response.write " <font color=red> 系统出错!!! </font> "
Response.end
End if
Else
ParaValue=replace(ParaValue, " ' ", " ' ' ")
End if
SafeRequest=ParaValue
End function
其中的 ParaValue=replace(ParaValue, " ' ", " ' ' ")
这个过滤是不是正确的啊??
为什么这样就能过滤了单引号啊??
------解决方案--------------------把单个的单引号替换成连续成对的单引号么,比较常用的防注技巧
------解决方案--------------------replace(str, " ' ", " ")
------解决方案--------------------response.write ParaValue
放到sql一看,原来这样就防注了
------解决方案--------------------INSERT INTO 表名 (列名) VALUES ( 'test 'test ')
INSERT INTO 表名 (列名) VALUES ( 'test ' 'test ')
你试试看这两个语句就知道了