| 菜鸟的ASP防注入函数 http://www.luos.org罗良富将下面的函数复制到你的公共文件 conn.asp、config.asp、const.asp、或 common.asp 的任意一个中: <%
 dim sqlstr
 Function sqlcheck(Str)
 sqlstr=str
 IF instr(sqlstr," ")>0 _
 or instr(sqlstr,"'")>0 _
 or instr(sqlstr,"_")>0 _
 or instr(sqlstr,"*")>0 _
 or instr(sqlstr,"[")>0 _
 or instr(sqlstr,"]")>0 _
 or instr(sqlstr,":")>0 _
 or instr(sqlstr,";")>0 _
 or instr(sqlstr,"+")>0 _
 or instr(sqlstr,"{")>0 _
 or instr(sqlstr,"}")>0 _
 or instr(sqlstr,".")>0 _
 or instr(sqlstr,",")>0 Then
 Response.Write("<script>alert(""喂,朋友,不要在参数中包含非法字符尝试注入!\n"+"如果是善意测试,发现有漏洞请告诉我,谢谢!"");window.location.replace('default.asp');</script>")    '重定向到你的首页
 response.end
 End IF
 End Function
 %>
 如果你觉得还不放心,就把你想要过滤的字符按上面的形式加上去吧。当然,如果你觉得没有必要过滤那么多,也可减去一些,但打头那两个一定留着,要不你就别往下看了。
 然后,在你需要的地方(其实也就是“ID”调研的地方)调用上面的函数进行检查就是了。
 即在用“ID”具体调用之前,一句  sqlcheck(Request("id")) 就ok啦。
 不过要注意,“ID”的形式是多样的,比如动网文章吧,就有“classid”、“Nclassid”、和“id”三个,都要检查哦。不过也就只有三几个地方。
 
 这个函数写得很“土”很“烂”,不过到真管用。并且菜鸟都看得懂,也能修改呢。
 如果有兴趣,就试试。
 |