找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 895|回复: 0

ASP防sql注入的通用函数

[复制链接]

18

主题

24

回帖

56

牛毛

初生牛犊

jsedy

积分
56
发表于 2008-7-10 23:09:28 | 显示全部楼层 |阅读模式 来自 广东省深圳市
asp的sql注入很让人头疼,以下函数能有效避免大多sql注入攻击,可以在此基础上加以完善:
<%
&#39; 将此文件包含在公共文件里
&#39; 如:conn.asp里
&#39; <!--#include file=\"sqlin.asp\"-->


&#39;--------定义部份------------------
Dim Fy_Post,Fy_Get,Fy_In,Fy_Inf,Fy_Xh,Fy_db,Fy_dbstr,Kill_IP,WriteSql
&#39;自定义需要过滤的字串,用 \"|\" 分隔
Fy_In = \"&#39;|;|and|(|)|exec|insert|select|delete|update|count|chr|mid|master|truncate|char|declare\"



Fy_Inf = split(Fy_In,\"|\")
&#39;--------POST部份------------------
If Request.Form<>\"\" Then
  For Each Fy_Post In Request.Form
    For Fy_Xh=0 To Ubound(Fy_Inf)
      If Instr(LCase(Request.Form(Fy_Post)),Fy_Inf(Fy_Xh))<>0 Then
        Response.Write \"<Script Language=JavaScript>alert(&#39;非法参数&#39;);</Script>\"
        Response.End
      End If
    Next
  Next
End If
&#39;----------------------------------


&#39;--------GET部份-------------------
If Request.QueryString<>\"\" Then
  For Each Fy_Get In Request.QueryString
    For Fy_Xh=0 To Ubound(Fy_Inf)
      If Instr(LCase(Request.QueryString(Fy_Get)),Fy_Inf(Fy_Xh))<>0 Then
        Response.Write \"<Script Language=JavaScript>alert(&#39;非法参数&#39;);</Script>\"
        Response.End
      End If
    Next
  Next
End If
%>



文章来源(WEB开发技术知识库):http://www.cn-web.com/cnweb/40/545/article/
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5用户社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-1-12 17:53 , Processed in 0.118517 second(s), 23 queries , Yac On.

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表