ASP常用函数的10经典大收集
‘过滤特殊字符
‘*************************************
Function Filterstr(Str)
If Isnull(Str) Then
Filterstr = ""
Exit Function
End If
Str = Replace(Str,Chr(0),"",1,-1,1)
Str = Replace(Str,"""",""",1,-1,1)
Str = Replace(Str,"<","<",1,-1,1)
Str = Replace(Str,">",">",1,-1,1)
Str = Replace(Str,"script","script",1,-1,0)
Str = Replace(Str,"SCRIPT","SCRIPT",1,-1,0)
Str = Replace(Str,"Script","Script",1,-1,0)
Str = Replace(Str,"script","Script",1,-1,1)
Str = Replace(Str,"object","object",1,-1,0)
Str = Replace(Str,"OBJECT","OBJECT",1,-1,0)
Str = Replace(Str,"Object","Object",1,-1,0)
Str = Replace(Str,"object","Object",1,-1,1)
Str = Replace(Str,"applet","applet",1,-1,0)
Str = Replace(Str,"APPLET","APPLET",1,-1,0)
Str = Replace(Str,"Applet","Applet",1,-1,0)
Str = Replace(Str,"applet","Applet",1,-1,1)
Str = Replace(Str,"[","[")
Str = Replace(Str,"]","]")
Str = Replace(Str,"""","",1,-1,1)
Str = Replace(Str,"=","=",1,-1,1)
Str = Replace(Str,"’","”",1,-1,1)
Str = Replace(Str,"select","select",1,-1,1)
Str = Replace(Str,"execute","execute",1,-1,1)
Str = Replace(Str,"exec","exec",1,-1,1)
Str = Replace(Str,"join","join",1,-1,1)
Str = Replace(Str,"union","union",1,-1,1)
Str = Replace(Str,"where","where",1,-1,1)
Str = Replace(Str,"insert","insert",1,-1,1)
Str = Replace(Str,"delete","delete",1,-1,1)
Str = Replace(Str,"update","update",1,-1,1)
Str = Replace(Str,"like","like",1,-1,1)
Str = Replace(Str,"drop","drop",1,-1,1)
Str = Replace(Str,"create","create",1,-1,1)
Str = Replace(Str,"rename","rename",1,-1,1)
Str = Replace(Str,"count","count",1,-1,1)
Str = Replace(Str,"chr","chr",1,-1,1)
Str = Replace(Str,"mid","mid",1,-1,1)
Str = Replace(Str,"truncate","truncate",1,-1,1)
Str = Replace(Str,"nchar","nchar",1,-1,1)
Str = Replace(Str,"char","char",1,-1,1)
Str = Replace(Str,"alter","alter",1,-1,1)
Str = Replace(Str,"cast","cast",1,-1,1)
Str = Replace(Str,"exists","exists",1,-1,1)
Filterstr = Replace(Str,"’","”",1,-1,1)
End Function ‘*************************************
‘过滤特殊字符
‘*************************************
Function CheckStr(byVal ChkStr)
Dim Str:Str=ChkStr
Str=Trim(Str)
If IsNull(Str) Then
CheckStr = ""
Exit Function
End If
Str = Replace(Str, "&", "&")
Str = Replace(Str,"’","'")
Str = Replace(Str,"""",""")
Dim re
Set re=new RegExp
re.IgnoreCase =True
re.Global=True
re.Pattern="(w)(here)"
Str = re.replace(Str,"$1here")
re.Pattern="(s)(elect)"
Str = re.replace(Str,"$1elect")
re.Pattern="(i)(nsert)"
Str = re.replace(Str,"$1nsert")
re.Pattern="(c)(reate)"
Str = re.replace(Str,"$1reate")
re.Pattern="(d)(rop)"
Str = re.replace(Str,"$1rop")
re.Pattern="(a)(lter)"
Str = re.replace(Str,"$1lter")
re.Pattern="(d)(elete)"
Str = re.replace(Str,"$1elete")
re.Pattern="(u)(pdate)"
Str = re.replace(Str,"$1pdate")
re.Pattern="(\s)(or)"
Str = re.replace(Str,"$1or")
Set re=Nothing
CheckStr=Str
End Function’*************************************
‘恢复特殊字符
‘*************************************
Function UnCheckStr(ByVal Str)
If IsNull(Str) Then
UnCheckStr = ""
Exit Function
End If
Str = Replace(Str,"'","’")
Str = Replace(Str,""","""")
Dim re
Set re=new RegExp
re.IgnoreCase =True
re.Global=True
re.Pattern="(w)(here)"
str = re.replace(str,"$1here")
re.Pattern="(s)(elect)"
str = re.replace(str,"$1elect")
re.Pattern="(i)(nsert)"
str = re.replace(str,"$1nsert")
re.Pattern="(c)(reate)"
str = re.replace(str,"$1reate")
re.Pattern="(d)(rop)"
str = re.replace(str,"$1rop")
re.Pattern="(a)(lter)"
str = re.replace(str,"$1lter")
re.Pattern="(d)(elete)"
str = re.replace(str,"$1elete")
re.Pattern="(u)(pdate)"
str = re.replace(str,"$1pdate")
re.Pattern="(\s)(or)"
Str = re.replace(Str,"$1or")
Set re=Nothing
Str = Replace(Str, "&", "&")
UnCheckStr=Str
End Function’*************************************
‘获取客户端浏览器信息
‘*************************************
function getBrowser(strUA)
dim arrInfo,strType,temp1,temp2
strType=""
strUA=LCase(strUA)
arrInfo=Array("Unkown","Unkown")
‘浏览器判断
if Instr(strUA,"mozilla")>0 then arrInfo(0)="Mozilla"
if Instr(strUA,"icab")>0 then arrInfo(0)="iCab"
if Instr(strUA,"lynx")>0 then arrInfo(0)="Lynx"
if Instr(strUA,"links")>0 then arrInfo(0)="Links"
if Instr(strUA,"elinks")>0 then arrInfo(0)="ELinks"
if Instr(strUA,"jbrowser")>0 then arrInfo(0)="JBrowser"
if Instr(strUA,"konqueror")>0 then arrInfo(0)="konqueror"
if Instr(strUA,"wget")>0 then arrInfo(0)="wget"
if Instr(strUA,"ask jeeves")>0 or Instr(strUA,"teoma")>0 then arrInfo(0)="Ask Jeeves/Teoma"
if Instr(strUA,"wget")>0 then arrInfo(0)="wget"
if Instr(strUA,"opera")>0 then arrInfo(0)="opera" if Instr(strUA,"gecko")>0 then
strType="[Gecko]"
arrInfo(0)="Mozilla"
if Instr(strUA,"aol")>0 then arrInfo(0)="AOL"
if Instr(strUA,"netscape")>0 then arrInfo(0)="Netscape"
if Instr(strUA,"firefox")>0 then arrInfo(0)="FireFox"
if Instr(strUA,"chimera")>0 then arrInfo(0)="Chimera"
if Instr(strUA,"camino")>0 then arrInfo(0)="Camino"
if Instr(strUA,"galeon")>0 then arrInfo(0)="Galeon"
if Instr(strUA,"k-meleon")>0 then arrInfo(0)="K-Meleon"
arrInfo(0)=arrInfo(0)+strType
end if
if Instr(strUA,"bot")>0 or Instr(strUA,"crawl")>0 then
strType="[Bot/Crawler]"
arrInfo(0)=""
if Instr(strUA,"grub")>0 then arrInfo(0)="Grub"
if Instr(strUA,"googlebot")>0 then arrInfo(0)="GoogleBot"
if Instr(strUA,"msnbot")>0 then arrInfo(0)="MSN Bot"
if Instr(strUA,"slurp")>0 then arrInfo(0)="Yahoo! Slurp"
arrInfo(0)=arrInfo(0)+strType
end if
if Instr(strUA,"applewebkit")>0 then
strType="[AppleWebKit]"
arrInfo(0)=""
if Instr(strUA,"omniweb")>0 then arrInfo(0)="OmniWeb"
if Instr(strUA,"safari")>0 then arrInfo(0)="Safari"
arrInfo(0)=arrInfo(0)+strType
end if
if Instr(strUA,"msie")>0 then
strType="[MSIE"
temp1=mid(strUA,(Instr(strUA,"msie")+4),6)
temp2=Instr(temp1,";")
temp1=left(temp1,temp2-1)
strType=strType & temp1 &"]"
arrInfo(0)="Internet Explorer"
if Instr(strUA,"msn")>0 then arrInfo(0)="MSN"
if Instr(strUA,"aol")>0 then arrInfo(0)="AOL"
if Instr(strUA,"webtv")>0 then arrInfo(0)="WebTV"
if Instr(strUA,"myie2")>0 then arrInfo(0)="MyIE2"
if Instr(strUA,"maxthon")>0 then arrInfo(0)="Maxthon"
if Instr(strUA,"gosurf")>0 then arrInfo(0)="GoSurf"
if Instr(strUA,"netcaptor")>0 then arrInfo(0)="NetCaptor"
if Instr(strUA,"sleipnir")>0 then arrInfo(0)="Sleipnir"
if Instr(strUA,"avant browser")>0 then arrInfo(0)="AvantBrowser"
if Instr(strUA,"greenbrowser")>0 then arrInfo(0)="GreenBrowser"
if Instr(strUA,"slimbrowser")>0 then arrInfo(0)="SlimBrowser"
arrInfo(0)=arrInfo(0)+strType
end if
‘操作系统判断
if Instr(strUA,"windows")>0 then arrInfo(1)="Windows"
if Instr(strUA,"windows ce")>0 then arrInfo(1)="Windows CE"
if Instr(strUA,"windows 95")>0 then arrInfo(1)="Windows 95"
if Instr(strUA,"win98")>0 then arrInfo(1)="Windows 98"
if Instr(strUA,"windows 98")>0 then arrInfo(1)="Windows 98"
if Instr(strUA,"windows 2000")>0 then arrInfo(1)="Windows 2000"
if Instr(strUA,"windows xp")>0 then arrInfo(1)="Windows XP" if Instr(strUA,"windows nt")>0 then
arrInfo(1)="Windows NT"
if Instr(strUA,"windows nt 5.0")>0 then arrInfo(1)="Windows 2000"
if Instr(strUA,"windows nt 5.1")>0 then arrInfo(1)="Windows XP"
if Instr(strUA,"windows nt 5.2")>0 then arrInfo(1)="Windows 2003"
end if
if Instr(strUA,"x11")>0 or Instr(strUA,"unix")>0 then arrInfo(1)="Unix"
if Instr(strUA,"sunos")>0 or Instr(strUA,"sun os")>0 then arrInfo(1)="SUN OS"
if Instr(strUA,"powerpc")>0 or Instr(strUA,"ppc")>0 then arrInfo(1)="PowerPC"
if Instr(strUA,"macintosh")>0 then arrInfo(1)="Mac"
if Instr(strUA,"mac osx")>0 then arrInfo(1)="MacOSX"
if Instr(strUA,"freebsd")>0 then arrInfo(1)="FreeBSD"
if Instr(strUA,"linux")>0 then arrInfo(1)="Linux"
if Instr(strUA,"palmsource")>0 or Instr(strUA,"palmos")>0 then arrInfo(1)="PalmOS"
if Instr(strUA,"wap ")>0 then arrInfo(1)="WAP"
‘arrInfo(0)=strUA
getBrowser=arrInfo
end function’*************************************
‘获取客户端IP
‘*************************************
function getIP()
dim strIP,IP_Ary,strIP_list
strIP_list=Replace(Request.ServerVariables("HTTP_X_FORWARDED_FOR"),"’","")
If InStr(strIP_list,",")<>0 Then
IP_Ary = Split(strIP_list,",")
strIP = IP_Ary(0)
Else
strIP = strIP_list
End IF
If strIP=Empty Then strIP=Replace(Request.ServerVariables("REMOTE_ADDR"),"’","")
getIP=strIP
End Function’*************************************
‘图片添加水印函数
‘*************************************
sub setWatermark(picFile,stampFile)
on error resume next
if CheckObjInstalled("Persits.Jpeg")=true then
Set stamp = Server.CreateObject("Persits.Jpeg")
stampFile = Server.MapPath(stampFile)
stamp.Open stampFile
Set Photo = Server.CreateObject("Persits.Jpeg")
picFile = Server.MapPath(picFile)
Photo.Open picFile
wh=Photo.width/2-stamp.Width/2
ht=Photo.height/2-stamp.Height/2
Photo.DrawImage wh,1,stamp,0.2,&HFFFFFF
Photo.Save picFile
set stamp=nothing
set Photo=nothing
else
response.Write "服务器不支持Persits.Jpeg组件,水印添加失败。同时,可能导致本网站很多主要功能不能使用,请为服务器安装Persits.Jpeg组件。"
exit sub
end if
end sub’*************************************
‘制作图片缩略图函数
‘*************************************
sub createMiniPic(picFile,miniFile,miniWidth,miniHeight)
on error resume next
if CheckObjInstalled("Persits.Jpeg")=true then
Response.Expires = 0
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.Open(server.mappath(picFile))
‘orgWidth=Jpeg.OriginalWidth
‘orgheight=Jpeg.OriginalHeight
‘scale=orgWidth/orgheight
‘width=miniHeight*scale
‘if width>miniWidth then width=miniWidth
Jpeg.Width = miniWidth
Jpeg.Height = miniHeight
Jpeg.Save server.mappath(miniFile)
set Jpeg=nothing
else
response.Write "服务器不支持Persits.Jpeg组件,水印添加失败。同时,可能导致本网站很多主要功能不能使用,请为服务器安装Persits.Jpeg组件。"
exit sub
end if
end sub
‘*************************************
‘***二进制数据转化为字符串函数
‘*************************************
Function Bytes2bStr(vin)
if lenb(vin) =0 then
Bytes2bStr = ""
exit function
end if
”二进制转换为字符串
Dim BytesStream,StringReturn
set BytesStream = Server.CreateObject("ADODB.Stream")
BytesStream.Type = 2
BytesStream.Open
BytesStream.WriteText vin
BytesStream.Position = 0
BytesStream.Charset = "gb2312"
BytesStream.Position = 2
StringReturn = BytesStream.ReadText
BytesStream.close
set BytesStream = Nothing
Bytes2bStr = StringReturn
End Function’*************************************
‘***enctype="multipart/form-data"的表
‘单数据的文本数据提取函数
‘*************************************
Function Myrequest(fldname)
”取表单数据,支持对同名表单域的读取
dim i,fldHead,tmpvalue
for i = 0 to loopcnt-1
fldHead = fldInfo(i,0)
if instr(lcase(fldHead),lcase(fldname))>0 then
”表单在数组中,判断该表单域内容
tmpvalue = FldInfo(i,1)
if instr(fldHead,"filename=""")<1 then
Tmpvalue = Bytes2bStr(tmpvalue)
if myrequest <> "" then
myrequest = myrequest & "," &tmpvalue
else
MyRequest = tmpvalue
end if
else
myrequest = tmpvalue
end if
end if
next
End function’*************************************
‘***获取上传表单原上传文件文件名
‘*************************************
Function GetFileName(fldName)
”都取原上传文件文件名
dim i,fldHead,fnpos
for i = 0 to loopcnt-1
fldHead = lcase(fldInfo(i,0))
if instr(fldHead,lcase(fldName)) > 0 then
fnpos = instr(fldHead,"filename=""")
if fnpos < 1 then exit for
fldHead = mid(fldHead,fnpos+10)
”表单内容
GetFileName = mid(fldHead,1,instr(fldHead,"""")-1)
GetfileName = mid(GetFileName,instrRev(GetFileName,"\")+1)
end if
next
End function’*************************************
‘获取上传表单原上传文件的类型,限定读
‘取文件域的内容
‘*************************************
Function GetContentType(fldName)
dim i
dim fldHead,cpos
for i = 0 to loopcnt – 1
fldHead = lcase(fldInfo(i,0))
if instr(fldHead,lcase(fldName)) > 0 and instr(fldHead,"filename=""") >0 then
cpos = instr(fldHead,"content-type: ")
GetContentType = mid(fldHead,cpos+14)
end if
next
End function’*************************************
‘***获取上传表单原上传文件扩展名
‘*************************************
Function GetFileTypeName(Fldname)
If instr(Fldname,".") > 0 Then
GetFileTypeName = right(Fldname,3)
End If
End Function’*************************************
‘***’限制上传文件类型
‘*************************************
Function IsvalidFile(FileType)
If instr(PicType,FileType)=0 then
IsvalidFile = false
Else
IsvalidFile = true
End if
End Function
‘————————————————
‘FilterJS(strHTML)
‘过滤脚本
‘————————————————
Function FilterJS(byval strHTML)
Dim objReg,strContent
If IsNull(strHTML) OR strHTML="" Then Exit Function
Set objReg=New RegExp
objReg.IgnoreCase =True
objReg.Global=True
objReg.Pattern="(&#)"
strContent=objReg.Replace(strHTML,"")
objReg.Pattern="(function|meta|value|window\.|script|js:|about:|file:|Document\.|vbs:|frame|cookie)"
strContent=objReg.Replace(strContent,"")
objReg.Pattern="(on(finish|mouse|Exit=|error|click|key|load|focus|Blur))"
strContent=objReg.Replace(strContent,"")
FilterJS=strContent
strContent=""
Set objReg=Nothing
End Function’————————————————
‘CheckInt(byval strNumber)
‘检查并转换整形值
‘————————————————
Function CheckInt(byval strNumber)
If isNull(strNumber) OR Not IsNumeric(strNumber) Then
CheckInt=""
Else
CheckInt=CLNG(strNumber)
End If
End Function’获取访问者IP
Function GetIP() Dim strIPAddr
If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") > 0 Then
strIPAddr = Request.ServerVariables("REMOTE_ADDR")
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";") > 0 Then
strIPAddr = Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1, InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
Else
strIPAddr = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
End If
GetIP = ProtectSQL(Trim(Mid(strIPAddr, 1, 30)))
End Function
%>
评论前必须登录!
注册