当前位置: 欧洲杯竞猜 > 计算机知识 > 正文

ASP最新SQL防注入过滤涵数,ASP常用自编函数采摘

时间:2020-02-01 12:57来源:计算机知识
Asp是一门轻便上手的言语,平日的生手都用的一箭穿心,新手往往就曾经可以编出看来相比完备的动态网址,在效益上,老司机能一挥而就的,生手也能够成功。那么新手与老司机就没差

Asp是一门轻便上手的言语,平日的生手都用的一箭穿心,新手往往就曾经可以编出看来相比完备的动态网址,在效益上,老司机能一挥而就的,生手也能够成功。那么新手与老司机就没差异了吗?这其间分别可就大了,只然则外行人很难一眼就看出来而已。在界面包车型地铁友好性、运维质量以至网址的安全性方面是新手与老鸟之间分裂的四个聚集点。而在安全性方面,新手最轻易忽略的难题正是SQL注入漏洞的主题材料。下边是一个SQL防注入过滤涵数,只要你把它应用到您的主次中,一切就OK了。

[收集]ASP应用中的应用函数1【转自www.bitsCN.com】

'发生在1到50内的12个随机数

Function Checkstr(Str)
If Isnull(Str) Then
CheckStr = ""
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, -

 

function showrnd(x,yState of Qatar '第二个参数要得到多少个数,第贰个钦赐最

1,登陆验证函数

if y<x then

 

 exit function

<%

end if

Function chk_regist(requestname,requestpwd,tablename,namefield,pwdfield,reurl)

redim n(x)

dim cn_name,cn_pwd

dim i,q

cn_name=trim(request.form(""&requestname&""))

dim isok

cn_pwd=trim(request.form(""&requestpwd&""))

for i=1 to 10

if cn_name="" or cn_pwd="" then

Randomize

   response.Write("<script language=javascript>alert(""请将帐号密码填写完整,感激协作。""卡塔尔;history.go(-1卡塔尔国</script>"State of Qatar

n(i)=round((y-1)* Rnd) 1

end if

isok=false

Set rs = Server.CreateObject ("ADODB.Recordset")

do while not isok

sql = "Select * from "&tablename&" where "&namefield&"=’"&cn_name&"’"

  for q=1 to i

rs.open sql,conn,1,1

    if n(i)=n(q-1) then

if rs.eof then

     n(i)=Int((y-1)* Rnd) 1

   response.Write("<script language=javascript>alert(""未有该会员ID,请确认有未有被提请。"");history.go(-1State of Qatar</script>"卡塔尔

  isok=false

else

     exit for

   if rs(""&pwdfield&"")=cn_pwd then  

 end if

   session("cn_name")=rs(""&namefield&"")

  isok=true

   response.Redirect(reurl)

  next

   else

loop

   response.Write("<script language=javascript>alert(""提示,您的帐号和密码是不符合。注意数字和分寸写。""State of Qatar;history.go(-1卡塔尔(قطر‎</script>"卡塔尔(قطر‎

response.write n(i)&<br>

   end if

next

end if

end function

rs.close 

 

Set rs = Nothing

 

End Function

<%

%>

'-------------------------------------

 

'天枫ASP class v1.0,集常用asp函数于意气风发体

 

'天枫版权全部

 

'QQ:76994859 EMAIL:Chenshaobo@gmail.com

参数表明:

'全数机能函数名如下:

chk_regist(requestname,requestpwd,tablename,namefield,pwdfield,reurl)

' StrLength(str卡塔尔国 拿到字符串长度

 

' CutStr(str,strlenState of Qatar 字符串长度切割

requestname 为选择HTML页中输入名称的INPUT控件名

' CheckIsEmpty(tstrState of Qatar 检验是或不是为空

requestpwd 为选用HTML页中输入密码的INPUT控件名

' isInteger(para卡塔尔(قطر‎ 整数核准

tablename 为数据库中保留注册消息的表名

' CheckName(str卡塔尔 名字字符校验

name田野 为该消息表中寄放顾客名称的字段名

' CheckPassword(str卡塔尔(قطر‎ 密码核实

pwd田野 为该信息表中寄放客户密码的字段名

' CheckEmail(emailState of Qatar 邮箱格式核准

reurl 为报到正确后跳转的页

' Alert(msg,goUrl) 弹出对话框提示

 

' GoBack(Str1,Str2,isbackState of Qatar 出错音信提醒

援用示举例下:

' Suc(str1,str2,url卡塔尔(قطر‎ 操作成功音信提醒

 

' ChkPost(卡塔尔(قطر‎ 检查评定是还是不是站外提交表单

<%

' PSql() 防止sql注入

call chk_regist("b_name","b_pwd","cn_admin","cn_name","cn_pwd","admin.asp")

' FiltrateHtmlCode(StrState of Qatar 制止生成HTML

%>

' HtmlCode(str) 过滤HTML

 

' Replacehtml(tstr) 清滤HTML

 

' GetIP(卡塔尔 获取顾客端IP

 

' GetBrowser 获取客商端浏览器信

调整地址:

' GetSystem 获取客户端操作系统

 

' GetUrl(卡塔尔 获取当前页面U奇骏L包涵参数

2,常常常有异常的大希望对某些事物实行当下景色的论断,日常即做一字段(数值类型,暗中同意滴?)

' CUrl(State of Qatar   获取当前页面UPRADOL

通过对该字段值的修正达到气象切换的意义。那么,作者又做了个函数,让和睦轻轻巧松自在。

' GetExtend 拿到文件扩张名

 

' CheckExist(table,田野同志name,田野先生content,isblur卡塔尔检查测量试验有个别表中某些字段的剧情是不是存在

<%

' GetNum(table,田野(field卡塔尔name,resulttype,args)检验某些表有个别字段有多少条,最大值 ,最小值等

Function pvouch(tablename,fildname,autoidname,indexid)

' GetFolderSize(Folderpath卡塔尔(قطر‎ 计算某些文件夹的大大小小

dim fildvalue

' GetFileSize(Filename卡塔尔(قطر‎ 总计有个别文件的轻重

Set rs = Server.CreateObject ("ADODB.Recordset")

' IsObjInstalled(strClassString卡塔尔 检查实验组件是不是安装

sql = "Select * from "&tablename&" where "&autoidname&"="&indexid

' SendMail JMAIL发送邮件

rs.Open sql,conn,2,3

' ResponseCookies 写入cookies

fildvalue=rs(""&fildname&"")

' CleanCookies 清除cookies

if fildvalue=0 then

' GetTimeover 得到程序页面试行时间

fildvalue=1

' FormatSize 大小格式化

else

' FormatTime 时间格式化

fildvalue=0

' Zodiac 拿到生肖

end if

' Constellation   得到星座

rs(""&fildname&"")=fildvalue

'-------------------------------------

rs.update

Class Cls_fun

rs.close 

'--------字符管理--------------------------

Set rs = Nothing

    

End Function

 '****************************************************

%>

 '函数名:StrLength

 

 '作  用:得到字符串长度(汉字为2卡塔尔国

 

 '参  数:str ----字符串内容

 

 '返回值:字符串长度

参数表明:

 '****************************************************

pvouch(tablename,fildname,autoidname,indexid)

 Public function StrLength(str)

 

   Dim Rep,lens,i

tablename 该事物所在数据库中的表名

   Set rep=new regexp

fildname 该事物用以注脚状态的字段名(字段类型是数值型)

   rep.Global=true

autoidname 在该表中的自动编号名

   rep.IgnoreCase=true

 

   rep.Pattern="[u4E00-u9FA5uF900-uFA2D]"

 

   For each i in rep.Execute(str)

indexid 用以修正情形的应和自动编号的值

    lens=lens 1

 

   Next

援引示例如下:

   Set Rep=Nothing

 

   lens=lens len(str)

 

   strLength=lens

<%

  End Function

dowhat=request.QueryString("dowhat")

  

p_id=cint(request.QueryString("p_id"))

 '****************************************************

 

 '函数名:CutStr

if dowhat="tj" and p_id<>"" then

 '作  用:字符串长度切割,当先展现省略号

call pvouch("cn_products","p_vouch","p_id",p_id)

 '参  数:str    ----字符串内容

end if

 '       strlen ------要来得的长短

%>

 '再次来到值:切割后字符串内容

 

 '****************************************************

<%if rs("p_vouch")=0 then%>

 Public Function CutStr(str,strlen)

<a href=showpro.asp?dowhat=tj&p_id=<%=rs("p_id")%>>推荐</a>

     Dim l,t,i,c

<%else%>

     If str="" Then

<a href=showpro.asp?dowhat=tj&p_id=<%=rs("p_id"卡塔尔(قطر‎%>>撤除推荐</a>

     cutstr=""

<%end if%>

     Exit Function

 

     End If

 

     str=Replace(Replace(Replace(Replace(Replace(str," "," "),""",Chr(34)),">",">"),"<","<"),"|","|")

 

     l=Len(str)

 

     t=0

3.HTML转变函数

     For i=1 To l

 

     c=Abs(Asc(Mid(str,i,1)))

动作转变来HTML

     If c>255 Then

 

    t=t 2

Function HTMLEncode(reString卡塔尔国 ’转变HTML代码(展现数据时使用State of Qatar

     Else

   Dim Str:Str=reString

    t=t 1

   If Not IsNull(Str) Then

     End If

      Str = Replace(Str, "&", "&")

     If t>=strlen Then

      Str = Replace(Str, ">", ">") 

    cutstr=Left(str,i) & "..."

      Str = Replace(Str, "<", "<")

    Exit For

      Str = Replace(Str, CHR(32), " ")

     Else

     Str = Replace(Str, CHR(9), " ")

    cutstr=str

      Str = Replace(Str, CHR(34), """)

     End If

      Str = Replace(Str, CHR(39), "’")

     Next

      Str = Replace(Str, CHR(13), "")

     cutstr=Replace(Replace(Replace(Replace(replace(cutstr," "," "),Chr(34),"""),">",">"),"<","<"),"|","|")

      Str = Replace(Str, CHR(10), "<br>")

  End Function

      HTMLEncode = Str

'--------------种类验证----------------------------

   End If

    '****************************************************

End Function

 '函数名:CheckIsEmpty

 

 '作  用:检查是或不是为空

 

 '参  数:tstr ----字符串

 

 '返回值:true不为空,false为空

HTML解码函数

 '****************************************************

 

 Public Function CheckIsEmpty(tstr)

Function HTMLDecode(reString卡塔尔国 ’HTML解码函数(保存或提交数据时行使,能够不行使卡塔尔

  CheckIsEmpty=false

   Dim Str:Str=reString

  If IsNull(tstr) or Tstr="" Then Exit Function 

   If Not IsNull(Str) Then

  Dim Str,re

      Str = Replace(Str, "&", "&")

  Str=Tstr

      Str = Replace(Str, ">", ">")

  Set re=new RegExp

      Str = Replace(Str, "<", "<")

  re.IgnoreCase =True

      Str = Replace(Str, " ", CHR(32)) 

  re.Global=True

     Str = Replace(Str, " ", CHR(9))

  str= Replace(str, vbNewLine, "")

      Str = Replace(Str, "  ", CHR(9))

  str = Replace(str, Chr(9), "")

      Str = Replace(Str, """, CHR(34))

  str = Replace(str, " ", "")

      Str = Replace(Str, "’", CHR(39))

  str = Replace(str, " ", "")

      Str = Replace(Str, "", CHR(13))

  re.Pattern="<img(.[^>]*)>"

      Str = Replace(Str, "<br>", CHR(10))

  str =re.Replace(Str,"94kk")

      HTMLDecode = Str

  re.Pattern="<(.[^>]*)>"

   End If

  Str=re.Replace(Str,"")

End Function

  Set Re=Nothing

 

  If Str<>"" Then CheckIsEmpty=true

 

 End Function

 

    '****************************************************

4.日子转换函数

 '函数名:isInteger

 

 '作  用:整数核查

Function DateToStr(DateTime,ShowTypeState of Qatar ’日期调换函数

 '参  数:tstr ----字符

   Dim DateMonth,DateDay,DateHour,DateMinute

 '再次回到值:true是整数,false不是整数

   DateMonth=Month(DateTime)

 '****************************************************

   DateDay=Day(DateTime)

 Public function isInteger(para)

   DateHour=Hour(DateTime)

     on error resume Next

   DateMinute=Minute(DateTime)

     Dim str

   If Len(DateMonth)<2 Then DateMonth="0"&DateMonth

     Dim l,i

   If Len(DateDay)<2 Then DateDay="0"&DateDay

     If isNUll(para) then 

   If Len(DateMinute)<2 Then DateMinute="0"&DateMinute 

     isInteger=false

   Select Case ShowType

     exit function

   Case "Y-m-d" 

     End if

      DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay

     str=cstr(para)

   Case "Y-m-d H:I A"

     If trim(str)="" then

      Dim DateAMPM

     isInteger=false

      If DateHour>12 Then 

     exit function

         DateHour=DateHour-12

     End if

         DateAMPM="PM"

     l=len(str)

      Else

     For i=1 to l

         DateHour=DateHour

      If mid(str,i,1)>"9" or mid(str,i,1)<"0" then

         DateAMPM="AM"

      isInteger=false 

      End If

      exit function

      If Len(DateHour)<2 Then DateHour="0"&DateHour   

      End if

      DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay&" "&DateHour&":"&DateMinute&" "&DateAMPM

     Next

   Case "Y-m-d H:I:S"

     isInteger=true

      Dim DateSecond

     If err.number<>0 then err.clear

      DateSecond=Second(DateTime)

 End Function

      If Len(DateHour)<2 Then DateHour="0"&DateHour   

 

 

    '****************************************************

 

 '函数名:CheckName

 

 '作  用:名字字符查验 

      If Len(DateSecond)<2 Then DateSecond="0"&DateSecond

 '参  数:str ----字符串

      DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay&" "&DateHour&":"&DateMinute&":"&DateSecond

 '返回值:true无误,false有误

   Case "YmdHIS"

 '****************************************************

      DateSecond=Second(DateTime)

 Public Function CheckName(Str)

      If Len(DateHour)<2 Then DateHour="0"&DateHour   

  Checkname=true

      If Len(DateSecond)<2 Then DateSecond="0"&DateSecond

  Dim Rep,pass

      DateToStr=Year(DateTime)&DateMonth&DateDay&DateHour&DateMinute&DateSecond   

  Set Rep=New RegExp

   Case "ym"

  Rep.Global=True

      DateToStr=Right(Year(DateTime),2)&DateMonth

  Rep.IgnoreCase=True

   Case "d"

  '相配字母、数字、下划线、汉字且必须以字母或下划线或汉字起头

      DateToStr=DateDay

  Rep.Pattern="^[a-zA-Z_u4e00-u9fa5][wu4e00-u9fa5] $"

   Case Else

  Set pass=Rep.Execute(Str)

      If Len(DateHour)<2 Then DateHour="0"&DateHour

  If pass.count=0 Then CheckName=false

      DateToStr=Year(DateTime)&"-"&DateMonth&"-"&DateDay&" "&DateHour&":"&DateMinute 网管网bitsCN.com

  Set Rep=Nothing

   End Select

 End Function

End Function

 

 

 '****************************************************

 

 '函数名:CheckPassword

5.剔除附属类小零部件函数:

 '作  用:密码查看

sub Delfile(filepath)

 '参  数:str ----字符串

   on error resume next

 '返回值:true无误,false有误

   set DelObj=Server.CreateObject("Scripting.FileSystemObject")

 '****************************************************

   filepath="../"&filepath

 Public Function CheckPassword(Str)

   Delpath=server.mappath(filepath)

  Dim pass

’   response.write delpath&"<br>"

  CheckPassword=true

   set DelFi=DelObj.getfile(Delpath)

  If Str <> "" Then

   DelFi.Delete

   Dim Rep

   set Delobj=nothing

   Set Rep = New RegExp

end sub

   Rep.Global = True

 

   Rep.IgnoreCase = True

 

   '相称字母、数字、下划线、点号

6.提交表单时现身的提醒框:

   Rep.Pattern="[a-zA-Z0-9_.] $"

 

   Pass=rep.Test(Str)

<html>

   Set Rep=nothing

<head>

   If not Pass Then CheckPassword=false

<SCRIPT language=javascript>

   End If

function ConfirmDel()

 End Function 

{

 

  if(confirm("分明要去除选中的付加物吗?生龙活虎旦删除将不可能还原!"卡塔尔卡塔尔(قطر‎

 '****************************************************

   return true;

 '函数名:CheckEmail

  else

 '作  用:邮箱格式检查实验

   return false;

 '参  数:str ----Email地址

    

 '返回值:true无误,false有误

}

 '****************************************************

</SCRIPT>

 Public function CheckEmail(email)

</head>

     CheckEmail=true

<body>

  Dim Rep

  Set Rep = new RegExp

  rep.pattern="([.a-zA-Z0-9_-]){2,10}@([a-zA-Z0-9_-]){2,10}(.([a-zA-Z0-9]){2,}){1,4}$"

  pass=rep.Test(email)

  Set Rep=Nothing

  If not pass Then CheckEmail=false

 End function

'--------------新闻提示----------------------------  

 '****************************************************

 '函数名:Alert

 '作  用:弹出对话框提醒

 '参  数:msg   ----对话框消息

 '       gourl ----提醒后转向哪里

 '返回值:无

 '****************************************************

    Public Function Alert(msg,goUrl)

  msg = replace(msg,"'","'")

    If goUrl="" Then

     goUrl="history.go(-1);"

  Else

   goUrl="window.location.href='"&goUrl&"'"

  End IF

  Response.Write ("<script language=""JavaScript"" type=""text/javascript"">"&vbNewLine&"alert('" & msg & "');"&goUrl&vbNewLine&"</script>")

  Response.End

 End Function

    '****************************************************

 '函数名:GoBack

 '作  用:错误新闻提醒

 '参  数:str1   ----音信提醒标题

 '       str2   ----音讯提醒内容

 '       isback ----是还是不是出示再次回到

 '返回值:无

 '****************************************************

 Public Function GoBack(Str1,Str2,isback)

  If Str1="" Then Str1="错误消息"

  If Str2="" Then Str2="请填入完整必填项目"

  If isback="" Then 

   Str2=Str2&" <a href=""javascript:history.go(-1卡塔尔(قطر‎"">重回重填</a></li>"

  else

   Str2=Str2

  end if

  Response.Write"<divmargin-left:5px;border:1px solid #0066cc;width:98%""><divheight:22px;font-weight:bold;color : white;font-size:14px;background:#799AE1;background:url(images/th.gif);;text-align:left;line-height:20px;padding:3px;"">"&Str1&" </div><divline-height:50px;background:#F7F7F7;vertical-align:middle;font-size:14px;width:100%""><div  style=""color:red;font:50px/50px 宋体;float:left;width:5%"">×</div><div  style=""margin-top:8px;float:right;width:90%;text-align:left;padding-left:3px;"">"&str2&"</div></div></div>"

  response.end

 End Function

    '****************************************************

 '函数名:Suc

 '作  用:成功提示音信

 '参  数:str1   ----新闻提醒标题

 '       str2   ----新闻提醒内容

 '       url    ----重返地址

 '返回值:无

 '****************************************************

 Public Function Suc(str1,str2,url)

  If str1="" Then Str1="操作成功"

  If str2="" Then Str2="成功的完结本次操作!"

  If url="" Then url="javascript:history.go(-1)"

  str2=str2&"  <a href="""&url&""" >重返继续处理</a>"

  Response.Write"<divmargin-left:5px;border:1px solid #0066cc;width:98%""><divheight:22px;font-weight:bold;color : white;font-size:14px;background:#799AE1;background:url(images/th.gif);;text-align:left;line-height:20px;padding:3px;"">"&Str1&" </div><divline-height:50px;background:#F7F7F7;vertical-align:middle;font-size:14px;width:100%""><div  style=""color:red;font:50px/50px 宋体;float:left;width:5%"">√</div><div  style=""margin-top:8px;float:right;width:90%;text-align:left;padding-left:3px;"">"&str2&"</div></div></div>"

 End Function

 

'--------------安全管理---------------------------- 

 '****************************************************

 '函数名:ChkPost

 '作  用:禁绝站外提交表单

 '重回值:true站内提交,flase站外付出

 '****************************************************

 Public Function ChkPost()

  Dim url1,url2

  chkpost=true

  url1=Cstr(Request.ServerVariables("HTTP_REFERER"))

  url2=Cstr(Request.ServerVariables("SERVER_NAME"))

  If Mid(url1,8,Len(url2))<>url2 Then

    chkpost=false

    exit function

  End If

 End function

 '****************************************************

 '函数名:PSql

 '作  用:防止SQL注入

 '再次来到值:为空则无注入,不为空则注入并赶回注入的字符

 '****************************************************

 public Function PSql()

     Psql=""

  badwords= "'防''防;防and防exec防insert防select防update防delete防count防*防%防chr防mid防master防truncate防char防declare防|"

  badword=split(badwords,"防")

  If Request.Form<>"" Then

   For Each TF_Post In Request.Form

    For i=0 To Ubound(badword)

     If Instr(LCase(Request.Form(TF_Post)),badword(i))>0 Then

      Psql=badword(i)

      exit function

     End If

    Next

   Next

  End If

  If Request.QueryString<>"" Then

   For Each TF_Get In Request.QueryString

    For i=0 To Ubound(badword)

     If Instr(LCase(Request.QueryString(TF_Get)),badword(i))>0 Then

      Psql=badword(i)

      exit function

     End If

    Next

   Next

  End If

 End Function

    '****************************************************

 '函数名:FiltrateHtmlCode

 '作  用:制止生成html代码 

 '参  数:str ----字符串

 '****************************************************

 Public Function FiltrateHtmlCode(Str)

  If Not isnull(str) And str<>"" then

   Str=Replace(Str,Chr(9),"")

   Str=replace(Str,"|","|")

   Str=replace(Str,chr(39),"'")

   Str=replace(Str,"<","<")

   Str=replace(Str,">",">")

   Str = Replace(str, CHR(13),"")

   Str = Replace(str, CHR(10),"")

   FiltrateHtmlCode=Str

  End If

 End Function

    '****************************************************

 '函数名:HtmlCode

 '作  用:过滤Html标签

 '参  数:str ----字符串

 '****************************************************

 Public function HtmlCode(str)

  If Not isnull(str) And str<>"" then

   str = replace(str, ">", ">")

   str = replace(str, "<", "<")

   str = Replace(str, CHR(32), " ")

   str = Replace(str, CHR(9), " ")

   str = Replace(str, CHR(34), """)

   str = Replace(str, CHR(39), "'")

   str = Replace(str, CHR(13), "")

   str = Replace(str, CHR(10), "")

   str = Replace(str, "script", "script")

   HtmlCode = str

  End If

 End Function

    '****************************************************

 '函数名:Replacehtml

 '作  用:清理html

 '参  数:tstr ----字符串

 '****************************************************

 Public Function Replacehtml(tstr)

  Dim Str,re

  Str=Tstr

  Set re=new RegExp

   re.IgnoreCase =True

   re.Global=True

   re.Pattern="<(p|/p|br)>"

   Str=re.Replace(Str,vbNewLine)

   re.Pattern="<img.[^>]*src(=| )(.[^>]*)>"

   str=re.replace(str,"")

   re.Pattern="<(.[^>]*)>"

   Str=re.Replace(Str,"")

   Set Re=Nothing

   Replacehtml=Str

 End Function

'---------------获取顾客端和服务端的某些音讯-------------------

    '****************************************************

 '函数名:GetIP

 '作  用:获取顾客端IP地址

 '返回值:客户端IP地址

 '****************************************************

    Public Function GetIP()

  Dim Temp

  Temp = Request.ServerVariables("HTTP_X_FORWARDED_FOR")

  If Temp = "" or isnull(Temp) or isEmpty(Temp) Then Temp = Request.ServerVariables("REMOTE_ADDR")

  If Instr(Temp,"'")>0 Then Temp="0.0.0.0"

  GetIP = Temp

 End Function

    '****************************************************

 '函数名:GetBrowser

 '作  用:获取客户端浏览器新闻

 '再次来到值:客商端浏览器消息

 '****************************************************

    Public Function GetBrowser()

        info=Request.ServerVariables(HTTP_USER_AGENT) 

  if Instr(info,"NetCaptor 6.5.0")>0 then

   browser="NetCaptor 6.5.0"

  elseif Instr(info,"MyIe 3.1")>0 then

   browser="MyIe 3.1"

  elseif Instr(info,"NetCaptor 6.5.0RC1")>0 then

   browser="NetCaptor 6.5.0RC1"

  elseif Instr(info,"NetCaptor 6.5.PB1")>0 then

   browser="NetCaptor 6.5.PB1"

  elseif Instr(info,"MSIE 5.5")>0 then

   browser="Internet Explorer 5.5"

  elseif Instr(info,"MSIE 6.0")>0 then

   browser="Internet Explorer 6.0"

  elseif Instr(info,"MSIE 6.0b")>0 then

   browser="Internet Explorer 6.0b"

  elseif Instr(info,"MSIE 5.01")>0 then

   browser="Internet Explorer 5.01"

  elseif Instr(info,"MSIE 5.0")>0 then

   browser="Internet Explorer 5.00"

  elseif Instr(info,"MSIE 4.0")>0 then

   browser="Internet Explorer 4.01"

  else

   browser="其它"

  end if

 End Function

    '****************************************************

 '函数名:GetSystem

 '作  用:获取顾客端操作系统

 '重回值:客商端操作系统

 '****************************************************

    Function GetSystem()

     info=Request.ServerVariables(HTTP_USER_AGENT) 

  if Instr(info,"NT 5.1")>0 then

   system="Windows XP"

  elseif Instr(info,"Tel")>0 then

   system="Telport"

  elseif Instr(info,"webzip")>0 then

   system="webzip"

  elseif Instr(info,"flashget")>0 then

   system="flashget"

  elseif Instr(info,"offline")>0 then

   system="offline"

  elseif Instr(info,"NT 5")>0 then

   system="Windows 2000"

  elseif Instr(info,"NT 4")>0 then

   system="Windows NT4"

  elseif Instr(info,"98")>0 then

   system="Windows 98"

  elseif Instr(info,"95")>0 then

   system="Windows 95"

  elseif instr(info,"unix") or instr(info,"linux") or instr(info,"SunOS") or instr(info,"BSD") then

   system="类Unix"

  elseif instr(thesoft,"Mac") then

   system="Mac"

  else

   system="其它"

  end if

 End Function

 

 '****************************************************

 '函数名:GetUrl

 '作  用:获取url包罗参数

 '重临值:获取url富含参数

 '****************************************************

 Public Function GetUrl()   

  Dim strTemp     

  strTemp=Request.ServerVariables("Script_Name")      

  If  Trim(Request.QueryString)<> "" Then

   strTemp=strTemp&"?"

   For Each M_item In Request.QueryString

    strTemp=strTemp&M_item&"="&Server.UrlEncode(Trim(Request.QueryString(""&M_item&"")))

   next

  end if

  GetUrl=strTemp   

 End Function 

 '****************************************************

 '函数名:CUrl

 '作  用:获取当前页面UPAJEROL的函数

 '重临值:当前页面U普拉多L的函数

 '****************************************************

 Function CUrl()

  Domain_Name = LCase(Request.ServerVariables("Server_Name"))

  Page_Name = LCase(Request.ServerVariables("Script_Name"))

  Quary_Name = LCase(Request.ServerVariables("Quary_String"))

  If Quary_Name ="" Then

   CUrl = "

  Else

   CUrl = "

  End If

 End Function

    '****************************************************

 '函数名:GetExtend

 '作  用:得到文件扩充名

 '参  数:filename ----文件名

 '****************************************************

 Public Function GetExtend(filename)

  dim tmp

  if filename<>"" then

   tmp=mid(filename,instrrev(filename,".") 1,len(filename)-instrrev(filename,"."))

   tmp=LCase(tmp)

   if instr(1,tmp,"asp")>0 or instr(1,tmp,"php")>0 or instr(1,tmp,"php3")>0 or instr(1,tmp,"aspx")>0 then

    getextend="txt"

   else

    getextend=tmp

   end if

  else

   getextend=""

  end if

 End Function

'------------------数据库的操作-----------------------

    '****************************************************

 '函数名:CheckExist

 '作  用:检查评定某些表中有个别字段是还是不是留存某些内容

 '参  数:table        ----表名

 '       fieldname    ----字段名

 '       田野(field卡塔尔content ----字段内容

 '       isblur       ----是不是模糊匹配

 '返回值:false不存在,true存在

 '****************************************************

 Function CheckExist(table,fieldname,fieldcontent,isblur)

  CheckExist=false

  If isblur=1 Then

            set rsCheckExist=conn.execute("select * from "&table&" where "&fieldname&" like '%"&fieldcontent&"%'")

  else

   set rsCheckExist=conn.execute("select * from "&table&" where "&fieldname&"= '"&fieldcontent&"'")

  End if

  if not (rsCheckExist.eof and rsCheckExist.bof) then CheckExist=true

  rsCheckExist.close

  set rsCheckExist=nothing

 End Function

 

 '****************************************************

 '函数名:GetNum

 '作  用:检查实验有个别表有些字段的数量或最大值或最小值

 '参  数:table      ----表名

 '       fieldname  ----字段名

 '       resulttype ----还回结果(count/max/minState of Qatar

 '       args       ----附加参加(order by ...卡塔尔

 '返回值:数值

 '****************************************************

 Function GetNum(table,fieldname,resulttype,args)

  GetFieldContentNum=0

  if fieldname="" then fieldname="*"

  sqlGetFieldContentNum="select "&resulttype&"("&fieldname&") from "&table& args

  set rsGetFieldContentNum=conn.execute(sqlGetFieldContentNum) 

  if not (rsGetFieldContentNum.eof and rsGetFieldContentNum.bof) then GetFieldContentNum=rsGetFieldContentNum(0)

  rsGetFieldContentNum.close

  set rsGetFieldContentNum=nothing

 End Function

 

 '****************************************************

 '函数名:UpdateValue

 '作  用:更新表中某字段某内容的值

 '参  数:table      ----表名

 '        fieldname  ----字段名

 '        田野(field卡塔尔国value ----更新后的值

 '        id         ----id

 '        url        -------更新后转载地址

 '返回值:无

 '****************************************************

 Public Function UpdateValue(table,fieldname,fieldvalue,id,url)

  conn.Execute("update "&table&" set "&fieldname&"="&fieldvalue&" where id="&CLng(trim(id)))

  if url<>"" then response.redirect url

 End Function

'---------------服务端音信和操作-----------------------

    '****************************************************

 '函数名:GetFolderSize

 '作  用:总计有些文件夹的大小

 '参  数:FileName ----文件夹路线及文件夹名称

 '返回值:数值

 '****************************************************

 Public Function GetFolderSize(Folderpath)

  dim fso,d,size,showsize

  set fso=server.createobject("scripting.filesystemobject")   

  drvpath=server.mappath(Folderpath)  

  if fso.FolderExists(drvpath) Then

   set d=fso.getfolder(drvpath)   

   size=d.size

   GetFolderSize=FormatSize(size)

  Else

            GetFolderSize=Folderpath&"文件夹不设有"

  End If 

 End Function

 

 '****************************************************

 '函数名:GetFileSize

 '作  用:计算某些文件的抑扬顿挫

 '参  数:FileName ----文件路线及文件名

 '返回值:数值

 '****************************************************

 Public Function GetFileSize(FileName)

  Dim fso,drvpath,d,size,showsize

  set fso=server.createobject("scripting.filesystemobject")

  filepath=server.mappath(FileName)

  if fso.FileExists(filepath) then

   set d=fso.getfile(filepath) 

   size=d.size

   GetFileSize=FormatSize(size)

        Else

      GetFileSize=FileName&"文件官样文章"

        End If

  set fso=nothing

 End Function

 '****************************************************

 '函数名:IsObjInstalled

 '作  用:检查组件是还是不是安装

 '参  数:strClassString ----组件名称

 '返回值:false不存在,true存在

 '****************************************************

 Public Function IsObjInstalled(strClassString)

  On Error Resume Next

  IsObjInstalled=False

  Err=0

  Dim xTestObj

  Set xTestObj=Server.CreateObject(strClassString)

  If 0=Err Then IsObjInstalled=True

  Set xTestObj=Nothing

  Err=0

 End Function

 

 '****************************************************

 '函数名:SendMail

 '作  用:用Jmail组件发送邮件

 '参  数:ServerAddress ----服务器地址

 '       AddRecipient  ----收信人地址

 '       Subject       ----主题

 '       Body          ----信件内容

 '       Sender        ----发信人地址

 '****************************************************

 Public function SendMail(MailServerAddress,AddRecipient,Subject,Body,Sender,MailFrom)

  on error resume next

  Dim JMail

  Set JMail=Server.CreateObject("JMail.SMTPMail")

  if err then

   SendMail= "未有安装JMail组件"

   err.clear

   exit function

  end if

  JMail.Logging=True

  JMail.Charset="gb2312"

  JMail.ContentType = "text/html"

  JMail.ServerAddress=MailServerAddress

  JMail.AddRecipient=AddRecipient

  JMail.Subject=Subject

  JMail.Body=MailBody

  JMail.Sender=Sender

  JMail.From = MailFrom

  JMail.Priority=1

  JMail.Execute 

  Set JMail=nothing 

  if err then 

   SendMail=err.description

   err.clear

  else

   SendMail="OK"

  end if

 end function

    '****************************************************

 '函数名:ResponseCookies

 '作  用:写入COOKIES

 '参  数:Key ----cookie名

 '        value ----cookie值

 '        expires ---- cookie过期时间

 '****************************************************

 Public Function ResponseCookies(Key,Value,Expires)

  DomainPath=Left(Request.ServerVariables("script_name"),inStrRev(Request.ServerVariables("script_name"),"/"))

  Response.Cookies(Key)=""&Value&""

  if Expires<>0 then Response.Cookies(Key).Expires=date Expires

  Response.Cookies(Key).Path=DomainPath

 End Function

 

    '****************************************************

 '函数名:CleanCookies

 '作  用:清除COOKIES

 '****************************************************

 Public Function CleanCookies()

  DomainPath=Left(Request.ServerVariables("script_name"),inStrRev(Request.ServerVariables("script_name"),"/"))

  For Each objCookie In Request.Cookies

   Response.Cookies(objCookie)= ""

   Response.Cookies(objCookie).Path=DomainPath

  Next

 End Function

 

 '****************************************************

 '函数名:GetTimeOver

 '作  用:清除COOKIES

 '参  数:flag ---展现时间单位1=秒,不然纳秒

 '****************************************************

 Public Function GetTimeOver(flag)

  Dim EndTime

  If flag = 1 Then

   EndTime=FormatNumber(Timer() - StartTime, 6, true)

   get提姆eOver = " 本页推行时间: " & EndTime & " 秒"

  Else

   EndTime=FormatNumber((Timer() - StartTime) * 1000, 3, true)

   getTimeOver =" 本页实施时间: " & EndTime & " 飞秒"

  End If

 End function

'-----------------种类格式化------------------------

 '****************************************************

 '函数名:FormatSize

 '作  用:大小格式化

 '参  数:size ----要格式化的大小

 '****************************************************

 Public Function FormatSize(dsize)

  if dsize>=1073741824 then

   FormatSize=Formatnumber(dsize/1073741824,2) & " GB"

  elseif dsize>=1048576 then

   FormatSize=Formatnumber(dsize/1048576,2) & " MB"

  elseif dsize>=1024 then

   FormatSize=Formatnumber(dsize/1024,2) & " KB"

  else

   FormatSize=dsize & " Byte"

  end if

 End Function

 '****************************************************

 '函数名:FormatTime

 '作  用:时间格式化

 '参  数:DateTime ----要格式化的光阴

 '       Format   ----格式的花样

 '****************************************************

 Public Function FormatTime(DateTime,Format) 

  select case Format

  case "1"

    FormatTime=""&year(DateTime)&"年"&month(DateTime)&"月"&day(DateTime)&"日"

  case "2"

    FormatTime=""&month(DateTime)&"月"&day(DateTime)&"日"

  case "3" 

    FormatTime=""&year(DateTime)&"/"&month(DateTime)&"/"&day(DateTime)&""

  case "4"

    FormatTime=""&month(DateTime)&"/"&day(DateTime)&""

  case "5"

    FormatTime=""&month(DateTime)&"月"&day(DateTime)&"日"&FormatDateTime(DateTime,4)&""

  case "6"

     temp="周日,周一,周二,周三,周四,周五,周六"

     temp=split(temp,",") 

     FormatTime=temp(Weekday(DateTime)-1)

  case Else

  FormatTime=DateTime

  end select

 End Function

'----------------------杂项---------------------

    '****************************************************

 '函数名:Zodiac

 '作  用:获得生消

 '参  数:birthday ----生日

 '****************************************************

 public Function Zodiac(birthday)

  if IsDate(birthday) then

   birthyear=year(birthday)

   ZodiacList=array("猴","鸡","狗","猪","鼠","牛","虎","兔","龙","蛇","马","羊")  

   Zodiac=ZodiacList(birthyear mod 12)

  end if

 End Function

    '****************************************************

 '函数名:Constellation

 '作  用:得到星座

 '参  数:birthday ----生日

 '****************************************************

 public Function Constellation(birthday)

  if IsDate(birthday) then

   ConstellationMon=month(birthday)

   ConstellationDay=day(birthday)

   if Len(ConstellationMon)<2 then ConstellationMon="0"&ConstellationMon

   if Len(ConstellationDay)<2 then ConstellationDay="0"&ConstellationDay

   MyConstellation=ConstellationMon&ConstellationDay

   if MyConstellation < 0120 then

    constellation="<img src=images/Constellation/g.gif title='魔羯座 Capricorn'>"

   elseif MyConstellation < 0219 then

    constellation="<img src=images/Constellation/h.gif title='水瓶座 Aquarius'>"

   elseif MyConstellation < 0321 then

    constellation="<img src=images/Constellation/i.gif title='双鱼座 Pisces'>"

   elseif MyConstellation < 0420 then

    constellation="<img src=images/Constellation/^.gif title='白羊座 Aries'>"

   elseif MyConstellation < 0521 then

    constellation="<img src=images/Constellation/_.gif title='金牛座 Taurus'>"

   elseif MyConstellation < 0622 then

    constellation="<img src=images/Constellation/`.gif title='双子座 Gemini'>"

   elseif MyConstellation < 0723 then

    constellation="<img src=images/Constellation/a.gif title='巨蟹座 Cancer'>"

   elseif MyConstellation < 0823 then

    constellation="<img src=images/Constellation/b.gif title='狮子座 Leo'>"

   elseif MyConstellation < 0923 then

    constellation="<img src=images/Constellation/c.gif title='处女座 Virgo'>"

   elseif MyConstellation < 1024 then

    constellation="<img src=images/Constellation/d.gif title='天秤座 Libra'>"

   elseif MyConstellation < 1122 then

    constellation="<img src=images/Constellation/e.gif title='天蝎座 Scorpio'>"

   elseif MyConstellation < 1222 then

    constellation="<img src=images/Constellation/f.gif title='射手座 Sagittarius'>"

   elseif MyConstellation > 1221 then

    constellation="<img src=images/Constellation/g.gif title='魔羯座 Capricorn'>"

   end if

  end if

 End Function

 '=================================================

 '函数名:autopage

 '作  用:长随笔自动分页

 '参  数:id,content,urlact

 '=================================================

 Function AutoPage(content,paramater,pagevar)

   contentStr=split(content,pagevar) 

   pagesize=ubound(contentStr)

   if pagesize>0 then

    If Int(Request("page"))="" or Int(Request("page"))=0 Then 

     pageNum=1 

    Else 

     pageNum=Request("page") 

    End if 

    if pageNum-1<=pagesize then

     AutoPage=AutoPage&contentStr(pageNum-1)

     AutoPage=AutoPage&"<divmargin-top:10px;text-align:right;padding-right:15px;""><font color=blue>页码:</font><font color=red>"

     For i=0 to pagesize 

      if i=pageNum-1 then 

       AutoPage=AutoPage&"[<font color=red>"&i 1&"</font>] "

      else 

       if instr(paramater,"?")>0 then

        AutoPage=AutoPage&"<a href="""¶mater&"&page="&i 1&""">["&(i 1)&"]</a>"

       else

        AutoPage=AutoPage&"<a href="""¶mater&"?page="&i 1&""">["&(i 1)&"]</a>"

       end if

      end if  

     Next 

     AutoPage=AutoPage&"</font></div>"

    else

     AutoPage=AutoPage&"非法操作!页号超过!<a href=javascript:history.back(-1卡塔尔国><u>再次来到</u></a>"

    end if

   Else

    AutoPage=content

   end if

 End Function

End Class

%>

编辑:计算机知识 本文来源:ASP最新SQL防注入过滤涵数,ASP常用自编函数采摘

关键词: 欧洲杯竞猜