你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 跟高手学编程
利用ASP建立网络身份验证安全机制(九)
 

<%'禁止SQL注入开始

'区分语句的大小写select|SELECT|Select

dim sql_injdata

SQL_injdata= = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|--"

SQL_inj = split(SQL_Injdata,"|")

If Request.Form<>"" Then

    For Each SQL_Get In Request.Form

        For SQL_Data=0 To Ubound(SQL_inj)

            if instr(Lcase(Request.Form(SQL_Get)),Sql_Inj(SQL_Data))>0 Then

                response.redirect "index.asp"

                'Response.Write "<Script>alert('SQL禁止注入,请不要在参数中包含非法字符尝试注入!');history.back(-1)</Script>"

                Response.end

            end if

        next

    Next

End If%>

    这种方法存在一定问题,一旦用户名或者密码中存在SQL_injdata指定的某个字符的时候,如果设定用户名为handang,系统就会认为试图进行SQL注入,因为此用户名中包含and关键词。

2.4.3 代替Request防止SQL注入攻击

下面提供一个函数,代替ASP中的Request函数,可以防止一切的SQL注入,代码如下:

<%Function SafeRequest(ParaName,ParaType)

       '--- 传入参数 ---

       'ParaName:参数名称-字符型

       'ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符)

       Dim ParaValue

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089