几个ASP通用的函数

一:处理SQL注入的  
  Function   SafeReplace(ParaName)  
            '---   传入参数   ---  
            'ParaName:参数名称-字符型,惊梦   84881411   2004/09/13  
            Dim   Paravalue  
            Paravalue=LCase(Trim(ParaName))  
             
            Paravalue=Replace(Paravalue,"select","")  
            Paravalue=Replace(Paravalue,"insert","")  
            Paravalue=Replace(Paravalue,"updata","")  
            Paravalue=Replace(Paravalue,"addnew","")  
            Paravalue=Replace(Paravalue,"delete","")  
            Paravalue=Replace(Paravalue,"order","")  
            Paravalue=Replace(Paravalue,"and","")  
            Paravalue=Replace(Paravalue,"or","")  
            Paravalue=Replace(Paravalue,"exec","")  
            Paravalue=Replace(Paravalue,"--","")  
            Paravalue=Replace(Paravalue,"-","")  
            Paravalue=Replace(Paravalue,";","")  
            Paravalue=Replace(Paravalue,"%","")  
            Paravalue=Replace(Paravalue,"<","")  
            Paravalue=Replace(Paravalue,">","")  
            Paravalue=Replace(Paravalue,"(","")  
            Paravalue=Replace(Paravalue,")","")  
            Paravalue=Replace(Paravalue,"window.open","")  
            Paravalue=Replace(Paravalue,"window.close","")  
            Paravalue=Replace(Paravalue,"while(1)","")  
            Paravalue=Replace(Paravalue,"script","")  
            Paravalue=Replace(Paravalue,"'","")  
            Paravalue=Replace(Paravalue,chr(34),"")  
            Paravalue=Replace(Paravalue,chr(39),"")  
             
            SafeReplace=Paravalue  
  End   function  
   
  Function   SafeRequest(ParaName,ParaType)  
                '---   传入参数   ---  
                'ParaName:参数名称-字符型  
                'ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符)  
                Dim   Paravalue  
                Paravalue=Request(ParaName)  
                If   ParaType=1   then  
                              '添加非空判断           Paravalue=replace(Paravalue,"-","")  
            If   Paravalue=""   then  
                  'Response.write   "参数"   &   ParaName   &   "不能为空!"  
              Response.Write("<script   language='javascript1.2'>history.go(-1)</script>")  
                                            Response.end    
            elseIf   not   isNumeric(Paravalue)   then  
                                            'Response.write   "参数"   &   ParaName   &   "必须为数字型!"  
              Response.Write("<script   language='javascript1.2'>history.go(-1)</script>")  
                                            Response.end  
                              End   if  
                Else  
                              Paravalue=replace(Paravalue,"'","''")  
                End   if  
                SafeRequest=Paravalue  
  End   function  
   
  二:反处理htmlencode的  
  Function   HTMLDecode(strEncode)  
     
                  strEncode=LCase(strEncode)  
                  strEncode=Replace(strEncode,"&amp;","&")  
                  strEncode=Replace(strEncode,"&lt;","<")  
                  strEncode=Replace(strEncode,"&gt;",">")  
                  strEncode=Replace(strEncode,"&quot;",Chr(34))  
                  strEncode=Replace(strEncode,"<br>","/r/n")  
                  strEncode=Replace(strEncode,"&nbsp;","   ")  
       
                  HTMLDecode   =   strEncode  
    End   Function  
   
  三:去掉html标签  
  function   nohtml(str)  
          dim   re  
          Set   re=new   RegExp  
          re.IgnoreCase   =true  
          re.Global=True  
          re.Pattern="(/<.[^/<]*/>)"  
          str=re.replace(str,"   ")  
          re.Pattern="(/<//[^/<]*/>)"  
          str=re.replace(str,"   ")  
          nohtml=str  
          set   re=nothing  
  end   function

 

四:错误显示  
  Function   ErrorMsgList(intErrNumber)  
    select   case   intErrNumber  
      case   7    
      ErrorMsgList="内存不足   "  
      case   28    
      ErrorMsgList="堆栈溢出   "  
      case   14    
      ErrorMsgList="字符串空间溢出   "  
      case   6    
      ErrorMsgList="溢出   "  
       
       
      case   429    
      ErrorMsgList="activex   部件无法创建对象   "  
      case   507    
      ErrorMsgList="发生异常   "  
      case   449    
      ErrorMsgList="参数不可选   "  
      case   17    
      ErrorMsgList="无法执行请求的操作   "  
      case   430    
      ErrorMsgList="类不支持自动化   "  
      case   506    
      ErrorMsgList="类未被定义   "  
      case   11    
      ErrorMsgList="被零除   "  
      case   48    
      ErrorMsgList="加载   dll   错误   "  
      case   5020    
      ErrorMsgList="在正则表达式中需要   ')'   "  
      case   5019    
      ErrorMsgList="在正则表达式中需要   ']'   "  
      case   432    
      ErrorMsgList="在自动化操作中未找到文件名或类名   "  
      case   92    
      ErrorMsgList="for   循环未初始化   "  
      case   5008    
      ErrorMsgList="非法赋值   "  
      case   51    
      ErrorMsgList="内部错误   "  
      case   505    
      ErrorMsgList="无效的或不合格的引用   "  
      case   481    
      ErrorMsgList="无效图片   "  
      case   5    
      ErrorMsgList="无效过程调用或参数   "  
      case   5021    
      ErrorMsgList="字符集越界   "  
      case   94    
      ErrorMsgList="非法使用   null   "  
      case   448    
      ErrorMsgList="未找到命名参数   "  
      case   447    
      ErrorMsgList="对象不支持当前的区域设置   "  
      case   445    
      ErrorMsgList="对象不支持此操作   "  
      case   438    
      ErrorMsgList="对象不支持该属性或方法   "  
      case   451    
      ErrorMsgList="对象不是一个集合   "  
      case   504    
      ErrorMsgList="对象不能安全创建   "  
      case   503    
      ErrorMsgList="对象不能安全初始化   "  
      case   502    
      ErrorMsgList="脚本对象不安全   "  
      case   424    
      ErrorMsgList="需要对象   "  
      case   91    
      ErrorMsgList="未设置对象变量   "  
      case   35    
      ErrorMsgList="未定义   sub   或   function   "  
      case   9    
      ErrorMsgList="下标越界   "  
      case   5017    
      ErrorMsgList="正则表达式中的语法错误   "  
      case   462    
      ErrorMsgList="远程服务器不存在或不能访问   "  
      case   10    
      ErrorMsgList="该数组为定长的或临时被锁定   "  
      case   13    
      ErrorMsgList="类型不匹配   "  
      case   5018    
      ErrorMsgList="错误的数量词   "  
      case   500    
      ErrorMsgList="变量未定义   "  
      case   458    
      ErrorMsgList="变量使用了一个   vbscript   中不支持的自动化类型   "  
      case   450    
      ErrorMsgList="错误的参数个数或无效的参数属性值   "  
      case   1052    
      ErrorMsgList="在类中不能有多个缺省的属性/方法   "  
      case   1044    
      ErrorMsgList="调用   sub   时不能使用圆括号   "  
      case   1053    
      ErrorMsgList="类初始化或终止不能带参数   "  
      case   1058    
      ErrorMsgList="只能在   property   get   中指定   'default'   "  
      case   1057    
      ErrorMsgList="说明   'default'   必须同时说明   'public'   "    
      case   1005    
      ErrorMsgList="需要   '('   "  
      case   1006    
      ErrorMsgList="需要   ')'   "  
      case   1011    
      ErrorMsgList="需要   '='   "  
      case   1021    
      ErrorMsgList="需要   'case'   "  
      case   1047    
      ErrorMsgList="需要   'class'   "  
      case   1025    
      ErrorMsgList="需要语句的结束     "  
      case   1014    
      ErrorMsgList="需要   'end'   "  
      case   1023    
      ErrorMsgList="需要表达式   "  
      case   1015    
      ErrorMsgList="需要   'function'   "  
      case   1010    
      ErrorMsgList="需要标识符   "  
      case   1012    
      ErrorMsgList="需要   'if'   "  
      case   1046    
      ErrorMsgList="需要   'in'   "  
      case   1026    
      ErrorMsgList="需要整数常数   "  
      case   1049    
      ErrorMsgList="在属性声明中需要   let   ,   set   或   get   "  
      case   1045    
      ErrorMsgList="需要文字常数"    
      case   1019    
      ErrorMsgList="需要   'loop'   "  
      case   1020    
      ErrorMsgList="需要   'next'   "  
      case   1050    
      ErrorMsgList="需要   'property'   "  
      case   1022    
      ErrorMsgList="需要   'select'   "  
      case   1024    
      ErrorMsgList="需要语句   "  
      case   1016    
      ErrorMsgList="需要   'sub'   "  
      case   1017    
      ErrorMsgList="需要   'then'   "  
      case   1013    
      ErrorMsgList="需要   'to'   "  
      case   1018    
      ErrorMsgList="需要   'wend'   "  
      case   1027    
      ErrorMsgList="需要   'while'   或   'until'   "  
      case   1028    
      ErrorMsgList="需要   'while,'、   'until,'   或语句未结束   "  
      case   1029    
      ErrorMsgList="需要   'with'   "  
      case   1030    
      ErrorMsgList="标识符太长   "  
      case   1014    
      ErrorMsgList="无效字符   "  
      case   1039    
      ErrorMsgList="无效   'exit'   语句   "  
      case   1040    
      ErrorMsgList="无效   'for'   循环控制变量   "  
      case   1013    
      ErrorMsgList="无效数字   "  
      case   1037    
      ErrorMsgList="无效使用关键字   'me'   "  
      case   1038    
      ErrorMsgList="'loop'   没有   'do'   "  
      case   1048    
      ErrorMsgList="必须在一个类的内部定义   "  
      case   1042    
      ErrorMsgList="必须为行的第一个语句   "  
      case   1041    
      ErrorMsgList="名称重定义   "  
      case   1051    
      ErrorMsgList="参数数目必须与属性说明一致   "  
      case   1054    
      ErrorMsgList="property   let   或   set   至少应该有一个参数   "  
      case   1002    
      ErrorMsgList="语法错误   "  
      case   1055    
      ErrorMsgList="不需要的   'next'   "  
      case   1015    
      ErrorMsgList="未终止字符串常数   "  
       
       
      case   1001    
      ErrorMsgList="内存不足   "  
      case   3021  
      ErrorMsgList="没有您要查询的数据!"  
      case   3219  
      ErrorMsgList="内容不允许重复,请重新输入!"  
      case   3709  
      ErrorMsgList="数据库读取发生未知错误,可能ODBC没有配置。"  
      case   -2147217887  
      ErrorMsgList="内容不能为空!"  
      'case   -2147217900  
      'ErrorMsgList="要删除的信息已被其它信息引用,请先删除其它资料。"  
      case   else  
      ErrorMsgList=""  
      end   select      
  End   Function  
   
  声明,1,2我的常用和验证过的,3没有验证过,4是拷别人的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值