Asp学习站欢迎你!

ASP安全检测与过滤函数

来源:ASP学习网 作者:Admin 时间:08-05-12 点击:

<%
    '作用:安全字符串检测函数
    '名字:SafeCheck
    '参数:CheckString,CheckType,CheckLength
    '说明:
    'Checkstring待检测字符串:任意字符.
    'CheckType检测类型0正常短字符1数字2日期3金钱4编码HTML5解码HTML6登录字符串7防攻击检测
    'CheckLength检测类型长度:类型为int,当为金钱时为小数点的位置
    '返回值:如果通过检测,返回正确字符串,
    '如果未通过则返回错误代码SYSTEM_ERROR|ERROR_CODE
    'Script Writen by :SnowDu(杜雪.NET)
    'Web:http://www.snsites.com/
    'Web:http://www.knowsky.com/
    '-------------------------------------------
    function SafeCheck(CheckString,CheckType,CheckLength)
    On Error Resume Next
    ErrorRoot="SYSTEM_ERROR|"
    if checkString="" then
    SafeCheck=ErrorRoot&"00001"
    exit function
    end if ]
    CheckString=Replace(CheckString,"'","'")
    select case CheckType
    case 0
    CheckString=trim(CheckString)
    SafeCheck=Left(CheckString,CheckLength) 
    case 1
    if not isnumberic(CheckString) then
    SafeCheck=ErrorRoot&"00002"
    exit function
    else
    SafeCheck=Left(CheckString,CheckLength)
    end if 
case 2
    tempVar=IsDate(CheckString)
    if Not TempVar then
    SafeCheck=ErrorRoot&"00003"
    exit function
    else
    select case CheckLength
    case 0
    SafeCheck=FormatDateTime(CheckString,vbShortDate)
    case 1
    SafeCheck=FormatDateTime(CheckString,vbLongDate)
    case 2
    SafeCheck=CheckString
    end select
    end if 

    case 3
    tempVar=FormatCurrency(CheckString,0)
    if Err then
    SafeCheck=ErrorRoot&"00004"
    exit function
    else
    SafeCheck=FormatCurrency(CheckString,CheckLength)
    end if

    case 4
    sTemp = CheckString
    If IsNull(sTemp) = True Then
    SafeCheck=ErrorRoot&"00005"
    Exit Function
    End If
    sTemp = Replace(sTemp, "&", "&")
    sTemp = Replace(sTemp, "<", "<")
    sTemp = Replace(sTemp, ">", ">")
    sTemp = Replace(sTemp, Chr(34), """)
    sTemp = Replace(sTemp, Chr(10), "<br>")
    SafeCheck = Left(sTemp,CheckLength)

    case 5
    sTemp = CheckString
    If IsNull(sTemp) = True Then
    SafeCheck=ErrorRoot&"00006"
    Exit Function
    End If
    sTemp = Replace(sTemp, "&", "&")
    sTemp = Replace(sTemp, "<", "<")
    sTemp = Replace(sTemp, ">", ">")
    sTemp = Replace(sTemp, """, Chr(34))
    sTemp = Replace(sTemp, "<br>",Chr(10))
    SafeCheck = Left(sTemp,CheckLength)

    case 6
    s_BadStr = "'  &<>?%,;:()`~!@#$^*{}[]|+-=" &

标签: 过滤】 【打印】 【关闭
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 验证码: 验证码 查看所有评论