一:处理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,"&","&")
strEncode=Replace(strEncode,"<","<")
strEncode=Replace(strEncode,">",">")
strEncode=Replace(strEncode,""",Chr(34))
strEncode=Replace(strEncode,"<br>","/r/n")
strEncode=Replace(strEncode," "," ")
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是拷别人的