首页  ·  知识 ·  编程语言
过滤SQL非法字符并格式化html代码/发布的各种信息过滤/不允许外部提交数据的选择/Jmail邮件发送
佚名  本站原创  ASP  编辑:dezai  图片来源:网络
%function changechr(str) changechr=replace(replace(replace(replace(str,"","lt;"),"","gt;"),chr(13),"br")," "

<%
function changechr(str)
changechr=replace(replace(replace(replace(str,"<","<"),">",">"),chr(13),"
")," "," ")
changechr=replace(replace(replace(replace(changechr,"[sayyes]","

"),"[red]",""),"[big]","")
changechr=replace(replace(replace(replace(changechr,"[/sayyes]",">
"),"[/b]",""),"[/red]",""),"[/big]","")
end function

'过滤SQL非法字符并格式化html代码
function Replace_Text(fString)
if isnull(fString) then
Replace_Text=""
exit function
else
fString=trim(fString)
fString=replace(fString,"'","''")
fString=replace(fString,";",";")
fString=replace(fString,"--","—")
fString=server.htmlencode(fString)
Replace_Text=fString
end if
end function

'会员发布的各种信息过滤
'Function Replace_Text(fString)
'If Not IsNull(fString) Then
'fString = trim(fString)
'fString = replace(fString, ";", ";")     '分号过滤
'fString = replace(fString, "--", "——") '--过滤
'fString = replace(fString, "%20", "")    '特殊字符过滤
'fString = replace(fString, "==", "")     '==过滤
'fString = replace(fString, ">", ">")
'fString = replace(fString, "<", "<")
'fString = Replace(fString, CHR(32), " ")   ' 
'fString = Replace(fString, CHR(9), " ")    ' 
'fString = Replace(fString, CHR(34), """)
'fString = Replace(fString, CHR(39), "'") '单引号过滤
'fString = Replace(fString, CHR(13), "")
'fString = Replace(fString, CHR(10) & CHR(10), "

")
'fString = Replace(fString, CHR(10), "
")
'Replace_Text = fString
'End If
'End Function

'过滤SQL非法字符
Function checkStr(Chkstr)
dim Str:Str=Chkstr
if isnull(Str) then
   checkStr = ""
   exit Function
else
   Str=replace(Str,"'","")
   Str=replace(Str,";","")
   Str=replace(Str,"--","")
   checkStr=Str
end if
End Function

'检测传递的参数是否为数字型
Function Chkrequest(Para)
Chkrequest=False
If Not (IsNull(Para) Or Trim(Para)="" Or Not IsNumeric(Para)) Then
    Chkrequest=True
End If
End Function

'检测传递的参数是否为日期型
Function Chkrequestdate(Para)
Chkrequestdate=False
If Not (IsNull(Para) Or Trim(Para)="" Or Not IsDate(Para)) Then
    Chkrequestdate=True
End If
End Function

'得到当前页面的地址
Function GetUrl()
On Error Resume Next
Dim strTemp
If LCase(Request.ServerVariables("HTTPS")) = "off" Then
strTemp = "http://"
Else
strTemp = "https://"
End If
strTemp = strTemp & CheckStr(Request.ServerVariables("SERVER_NAME"))
If Request.ServerVariables("SERVER_PORT") <> 80 Then strTemp = strTemp & ":" & CheckStr(Request.ServerVariables("SERVER_PORT"))
strTemp = strTemp & CheckStr(Request.ServerVariables("URL"))
If Trim(Request.QueryString) <> "" Then strTemp = strTemp & "?" & CheckStr(Trim(Request.QueryString))
GetUrl = strTemp  
End Function

'Function CheckReferer()   '检查用户是否在浏览器里输入了本页的地址
'     Dim sReferer, Icheck
'     CheckReferer = True
'     sReferer = Request.ServerVariables("HTTP_REFERER")
'     ServerIP = Request.ServerVariables("LOCAL_ADDR")
'     Icheck = InStr(sReferer, "ServerIP")
'     If Icheck = 0 Then
'     CheckReferer = False
'     End If
'End Function

'日期格式化
Function FormatDate(DT,tp)
dim Y,M,D
Y=Year(DT)
M=month(DT)
D=Day(DT)
if M<10 then M="0"&M
if D<10 then D="0"&D
select case tp
case 1 FormatDate=Y&"年"&M&"月"&D&"日"
case 2 FormatDate=Y&"-"&M&"-"&D
end select
End Function

'不允许外部提交数据的选择
Function ChkPost()
     dim HTTP_REFERER,SERVER_NAME
dim server_v1,server_v2
chkpost=false
     SERVER_NAME=CheckStr(Request.ServerVariables("SERVER_NAME"))
HTTP_REFERER=CheckStr(Request.ServerVariables("HTTP_REFERER"))
server_v1=Cstr(HTTP_REFERER)
server_v2=Cstr(SERVER_NAME)
if mid(server_v1,8,len(server_v2))<>server_v2 then
   chkpost=false
else
   chkpost=true
end if
End Function

'构造上传图片文件名随机数
function MakedownName()
dim fname
fname = now()
fname = replace(fname,"-","")
fname = replace(fname," ","")
fname = replace(fname,":","")
fname = replace(fname,"PM","")
fname = replace(fname,"AM","")
fname = replace(fname,"上午","")
fname = replace(fname,"下午","")
fname = int(fname) + int((10-1+1)*Rnd + 1)
MakedownName=fname
end function

'Email检测
function IsValidEmail(email)
dim names, name, i, c
IsValidEmail = true
names = Split(email, "@")
if UBound(names) <> 1 then
    IsValidEmail = false
    exit function
end if
for each name in names
    if Len(name) <= 0 then
      IsValidEmail = false
      exit function
    end if
    for i = 1 to Len(name)
      c = Lcase(Mid(name, i, 1))
      if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 and not IsNumeric(c) then
        IsValidEmail = false
        exit function
      end if
    next
    if Left(name, 1) = "." or Right(name, 1) = "." then
       IsValidEmail = false
       exit function
    end if
next
if InStr(names(1), ".") <= 0 then
    IsValidEmail = false
    exit function
end if
i = Len(names(1)) - InStrRev(names(1), ".")
if i <> 2 and i <> 3 then
    IsValidEmail = false
    exit function
end if
if InStr(email, "..") > 0 then
    IsValidEmail = false
end if
end function

'Jmail邮件发送
Function SendJmail(Email,Topic,MailBody)

Dim JMail
on error resume next
Set JMail = Server.CreateObject("JMail.SMTPMail")
JMail.LazySend             = true
JMail.silent             = true
JMail.Charset             = "gb2312"
JMail.ContentType       = "text/html"
JMail.Sender             = "wemaster@alibaba.info" '我们网站自己的邮箱
JMail.ReplyTo             = "wemaster@alibaba.info" '我们网站自己的邮箱
JMail.SenderName       = "阿里爸爸邮件发送"
JMail.Subject             = Topic
JMail.SimpleLayout       = true
JMail.Body             = MailBody
JMail.Priority             = 3
JMail.AddRecipient Email
JMail.AddHeader "Originating-IP", GBL_IPAddress
If JMail.Execute() = false Then
   SendJmail = 0
Else
   SendJmail = 1
End If
JMail.Close
Set JMail = Nothing

End Function

'分页
Function listPages(LinkFile)
    if not (rs.eof and rs.bof) then
gopage=currentpage
totalpage=n
blockPage=Int((gopage-1)/10)*10+1
' if instr(linkfile,"?page=")>0 or instr(linkfile,"&page=")>0 then
' pos=instr(linkfile,"page=")-2
' linkfile=left(linkfile,pos)
' end if

If LCase(Request.ServerVariables("HTTPS")) = "off" Then
     strTemp = "http://"
     Else
     strTemp = "https://"
     End If
     strTemp = strTemp & CheckStr(Request.ServerVariables("SERVER_NAME"))
     If Request.ServerVariables("SERVER_PORT") <> 80 Then strTemp = strTemp & ":" & CheckStr(Request.ServerVariables("SERVER_PORT"))
     strTemp = strTemp & CheckStr(Request.ServerVariables("URL"))
     lenstrTemp=len(strTemp)+1
if instr(left(linkfile,lenstrTemp),"?")>0 then

if blockPage = 1 Then
   Response.Write "【←前10页 "
Else
   Response.Write("←前10页 ")
End If
    i=1
    Do Until i > 10 or blockPage > n
     If blockPage=int(gopage) Then
   Response.Write("["&blockPage&"]")
Else
   Response.Write(" ["&blockPage&"] ")
     End If
     blockPage=blockPage+1
     i = i + 1
     Loop
if blockPage > totalpage Then
   Response.Write " 后10页→】"
Else
   Response.Write(" 后10页→】")
End If
response.write" 直接到第 "
response.write""
     response.write" 页

"

else

if blockPage = 1 Then
   Response.Write "【←前10页 "
Else
   Response.Write("←前10页 ")
End If
    i=1
    Do Until i > 10 or blockPage > n
     If blockPage=int(gopage) Then
   Response.Write("["&blockPage&"]")
Else
   Response.Write(" ["&blockPage&"] ")
     End If
     blockPage=blockPage+1
     i = i + 1
     Loop
if blockPage > totalpage Then
   Response.Write " 后10页→】"
Else
   Response.Write(" 后10页→】")
End If
response.write" 直接到第 "
response.write""
     response.write" 页

"

End If

Startinfo=((gopage-1)*msg_per_page)+1
Endinfo=gopage*msg_per_page
if Endinfo>totalrec then Endinfo=totalrec
   Response.Write("  共 "&totalrec&" 条信息 当前显示第 "&Startinfo&" - "&Endinfo&" 条 每页 "&msg_per_page&" 条信息 共 "&n&" 页")
end if
End Function

'分页2
Function listPages2(LinkFile)
    if not (rs.eof and rs.bof) then
gopage=currentpage
totalpage=n
blockPage=Int((gopage-1)/10)*10+1

If LCase(Request.ServerVariables("HTTPS")) = "off" Then
     strTemp = "http://"
     Else
     strTemp = "https://"
     End If
     strTemp = strTemp & CheckStr(Request.ServerVariables("SERVER_NAME"))
     If Request.ServerVariables("SERVER_PORT") <> 80 Then strTemp = strTemp & ":" & CheckStr(Request.ServerVariables("SERVER_PORT"))
     strTemp = strTemp & CheckStr(Request.ServerVariables("URL"))
     lenstrTemp=len(strTemp)+1
if instr(left(linkfile,lenstrTemp),"?")>0 then

if blockPage = 1 Then
   Response.Write "前10页 "
Else
   Response.Write("前10页 ")
End If
    i=1
    Do Until i > 10 or blockPage > n
     If blockPage=int(gopage) Then
   Response.Write(""&blockPage&"")
Else
   Response.Write(" "&blockPage&" ")
     End If
     blockPage=blockPage+1
     i = i + 1
     Loop
if blockPage > totalpage Then
   Response.Write " 后10页"
Else
   Response.Write(" 后10页")
End If
response.write" 直接到第 "
response.write""
     response.write" 页

"

else

if blockPage = 1 Then
   Response.Write "【←前10页 "
Else
   Response.Write("←前10页 ")
End If
    i=1
    Do Until i > 10 or blockPage > n
     If blockPage=int(gopage) Then
   Response.Write("["&blockPage&"]")
Else
   Response.Write(" ["&blockPage&"] ")
     End If
     blockPage=blockPage+1
     i = i + 1
     Loop
if blockPage > totalpage Then
   Response.Write " 后10页→】"
Else
   Response.Write(" 后10页→】")
End If
response.write" 直接到第 "
response.write""
     response.write" 页

"

End If

Startinfo=((gopage-1)*msg_per_page)+1
Endinfo=gopage*msg_per_page
if Endinfo>totalrec then Endinfo=totalrec
   Response.Write("  共 "&totalrec&" 条信息 当前显示第 "&Startinfo&" - "&Endinfo&" 条 每页 "&msg_per_page&" 条信息 共 "&n&" 页")
end if
End Function

'判断文件类型是否合格
Function CheckFileExt(FileExt)
Dim ForumUpload,i
ForumUpload="gif,jpg,bmp,jpeg,png"
ForumUpload=Split(ForumUpload,",")
CheckFileExt=False
For i=0 to UBound(ForumUpload)
   If LCase(FileExt)=Lcase(Trim(ForumUpload(i))) Then
    CheckFileExt=True
    Exit Function
   End If
Next
End Function
'格式后缀
Function FixName(UpFileExt)
If IsEmpty(UpFileExt) Then Exit Function
FixName = Lcase(UpFileExt)
FixName = Replace(FixName,Chr(0),"")
FixName = Replace(FixName,".","")
FixName = Replace(FixName,"asp","")
FixName = Replace(FixName,"asa","")
FixName = Replace(FixName,"aspx","")
FixName = Replace(FixName,"cer","")
FixName = Replace(FixName,"cdx","")
FixName = Replace(FixName,"htr","")
End Function
'文件Content-Type判断
Function CheckFileType(FileType)
CheckFileType = False
If Left(Cstr(Lcase(Trim(FileType))),6)="image/" Then CheckFileType = True
End Function
%>

本文作者:佚名 来源:本站原创
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的