余志国网站设计工作室是专业从事义乌网站建设、义乌外贸网站建设、义乌网站制作、义乌网站设计的专业义乌网站建设工作室,是义乌外贸网站建设专家!

ASP过滤SQL非法字符并格式化html代码,不错的功能函数集

分类:程序开发 Tags: asp 函数 评论:0 浏览:3886 最近更新时间:2009/7/23 13:27:43

 
  1. <%
  2.  
  3. '过滤SQL非法字符并格式化html代码
  4.  
  5. function Replace_Text(fString)
  6.  
  7. if isnull(fString) then
  8.  
  9. Replace_Text=""
  10.  
  11. exit function
  12.  
  13. else
  14.  
  15. fString=trim(fString)
  16.  
  17. fString=replace(fString,"'","''")
  18.  
  19. fString=replace(fString,";",";")
  20.  
  21. fString=replace(fString,"--","—")
  22.  
  23. fString=server.htmlencode(fString)
  24.  
  25. Replace_Text=fString
  26.  
  27. end if 
  28.  
  29. end function
  30.  
  31. '会员发布的各种信息过滤
  32.  
  33. 'Function Replace_Text(fString)
  34.  
  35. 'If Not IsNull(fString) Then
  36.  
  37. 'fString = trim(fString)
  38.  
  39. 'fString = replace(fString, ";", ";")     '分号过滤
  40.  
  41. 'fString = replace(fString, "--", "——") '--过滤
  42.  
  43. 'fString = replace(fString, "%20", "")    '特殊字符过滤
  44.  
  45. 'fString = replace(fString, "==", "")     '==过滤
  46.  
  47. 'fString = replace(fString, ">", "&gt;")
  48.  
  49. 'fString = replace(fString, "<", "&lt;")
  50.  
  51. 'fString = Replace(fString, CHR(32), " ")   '&nbsp;
  52.  
  53. 'fString = Replace(fString, CHR(9), " ")    '&nbsp;
  54.  
  55. 'fString = Replace(fString, CHR(34), "&quot;")
  56.  
  57. 'fString = Replace(fString, CHR(39), "'") '单引号过滤
  58.  
  59. 'fString = Replace(fString, CHR(13), "")
  60.  
  61. 'fString = Replace(fString, CHR(10) & CHR(10), "</P><P> ")
  62.  
  63. 'fString = Replace(fString, CHR(10), "<BR> ")
  64.  
  65. 'Replace_Text = fString
  66.  
  67. 'End If
  68.  
  69. 'End Function
  70.  
  71. '过滤SQL非法字符
  72.  
  73. Function checkStr(Chkstr)
  74.  
  75. dim Str:Str=Chkstr
  76.  
  77. if isnull(Str) then
  78.  
  79.    checkStr = ""
  80.  
  81.    exit Function
  82.  
  83. else
  84.  
  85.    Str=replace(Str,"'","")
  86.  
  87.    Str=replace(Str,";","")
  88.  
  89.    Str=replace(Str,"--","")
  90.  
  91.    checkStr=Str
  92.  
  93. end if
  94.  
  95. End Function
  96.  
  97. '检测传递的参数是否为数字型
  98.  
  99. Function Chkrequest(Para)
  100.  
  101. Chkrequest=False
  102.  
  103. If Not (IsNull(Para) Or Trim(Para)="" Or Not IsNumeric(Para)) Then
  104.  
  105.     Chkrequest=True
  106.  
  107. End If
  108.  
  109. End Function
  110.  
  111. '检测传递的参数是否为日期型
  112.  
  113. Function Chkrequestdate(Para)
  114.  
  115. Chkrequestdate=False
  116.  
  117. If Not (IsNull(Para) Or Trim(Para)="" Or Not IsDate(Para)) Then
  118.  
  119.     Chkrequestdate=True
  120.  
  121. End If
  122.  
  123. End Function
  124.  
  125. '得到当前页面的地址 
  126.  
  127. Function GetUrl() 
  128.  
  129. On Error Resume Next 
  130.  
  131. Dim strTemp 
  132.  
  133. If LCase(Request.ServerVariables("HTTPS")) = "off" Then 
  134.  
  135. strTemp = "http://" 
  136.  
  137. Else 
  138.  
  139. strTemp = "https://" 
  140.  
  141. End If 
  142.  
  143. strTemp = strTemp & CheckStr(Request.ServerVariables("SERVER_NAME")) 
  144.  
  145. If Request.ServerVariables("SERVER_PORT") <> 80 Then strTemp = strTemp & ":" & CheckStr(Request.ServerVariables("SERVER_PORT")) 
  146.  
  147. strTemp = strTemp & CheckStr(Request.ServerVariables("URL")) 
  148.  
  149. If Trim(Request.QueryString) <> "" Then strTemp = strTemp & "?" & CheckStr(Trim(Request.QueryString)) 
  150.  
  151. GetUrl = strTemp  
  152.  
  153. End Function 
  154.  
  155. 'Function CheckReferer()   '检查用户是否在浏览器里输入了本页的地址
  156.  
  157. '     Dim sReferer, Icheck
  158.  
  159. '     CheckReferer = True
  160.  
  161. '     sReferer = Request.ServerVariables("HTTP_REFERER")
  162.  
  163. '     ServerIP = Request.ServerVariables("LOCAL_ADDR")
  164.  
  165. '     Icheck = InStr(sReferer, "ServerIP")
  166.  
  167. '     If Icheck = 0 Then
  168.  
  169. '     CheckReferer = False
  170.  
  171. '     End If
  172.  
  173. 'End Function
  174.  
  175. '日期格式化
  176.  
  177. Function FormatDate(DT,tp)
  178.  
  179. dim Y,M,D
  180.  
  181. Y=Year(DT)
  182.  
  183. M=month(DT)
  184.  
  185. D=Day(DT)
  186.  
  187. if M<10 then M="0"&M
  188.  
  189. if D<10 then D="0"&D
  190.  
  191. select case tp
  192.  
  193. case 1 FormatDate=Y&"年"&M&"月"&D&"日"
  194.  
  195. case 2 FormatDate=Y&"-"&M&"-"&D
  196.  
  197. end select
  198.  
  199. End Function
  200.  
  201. '不允许外部提交数据的选择
  202.  
  203. Function ChkPost()
  204.  
  205.      dim HTTP_REFERER,SERVER_NAME
  206.  
  207. dim server_v1,server_v2
  208.  
  209. chkpost=false
  210.  
  211.      SERVER_NAME=CheckStr(Request.ServerVariables("SERVER_NAME"))
  212.  
  213. HTTP_REFERER=CheckStr(Request.ServerVariables("HTTP_REFERER"))
  214.  
  215. server_v1=Cstr(HTTP_REFERER)
  216.  
  217. server_v2=Cstr(SERVER_NAME)
  218.  
  219. if mid(server_v1,8,len(server_v2))<>server_v2 then
  220.  
  221.    chkpost=false
  222.  
  223. else
  224.  
  225.    chkpost=true
  226.  
  227. end if
  228.  
  229. End Function
  230.  
  231. '构造上传图片文件名随机数
  232.  
  233. function MakedownName()
  234.  
  235. dim fname
  236.  
  237. fname = now()
  238.  
  239. fname = replace(fname,"-","")
  240.  
  241. fname = replace(fname," ",""
  242.  
  243. fname = replace(fname,":","")
  244.  
  245. fname = replace(fname,"PM","")
  246.  
  247. fname = replace(fname,"AM","")
  248.  
  249. fname = replace(fname,"上午","")
  250.  
  251. fname = replace(fname,"下午","")
  252.  
  253. fname = int(fname) + int((10-1+1)*Rnd + 1)
  254.  
  255. MakedownName=fname
  256.  
  257. end function
  258.  
  259. 'Email检测
  260.  
  261. function IsValidEmail(email)
  262.  
  263. dim names, name, i, c
  264.  
  265. IsValidEmail = true
  266.  
  267. names = Split(email, "@")
  268.  
  269. if UBound(names) <> 1 then
  270.  
  271.     IsValidEmail = false
  272.  
  273.     exit function
  274.  
  275. end if
  276.  
  277. for each name in names
  278.  
  279.     if Len(name) <= 0 then
  280.  
  281.       IsValidEmail = false
  282.  
  283.       exit function
  284.  
  285.     end if
  286.  
  287.     for i = 1 to Len(name)
  288.  
  289.       c = Lcase(Mid(name, i, 1))
  290.  
  291.       if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 and not IsNumeric(c) then
  292.  
  293.         IsValidEmail = false
  294.  
  295.         exit function
  296.  
  297.       end if
  298.  
  299.     next
  300.  
  301.     if Left(name, 1) = "." or Right(name, 1) = "." then
  302.  
  303.        IsValidEmail = false
  304.  
  305.        exit function
  306.  
  307.     end if
  308.  
  309. next
  310.  
  311. if InStr(names(1), ".") <= 0 then
  312.  
  313.     IsValidEmail = false
  314.  
  315.     exit function
  316.  
  317. end if
  318.  
  319. i = Len(names(1)) - InStrRev(names(1), ".")
  320.  
  321. if i <> 2 and i <> 3 then
  322.  
  323.     IsValidEmail = false
  324.  
  325.     exit function
  326.  
  327. end if
  328.  
  329. if InStr(email, "..") > 0 then
  330.  
  331.     IsValidEmail = false
  332.  
  333. end if
  334.  
  335. end function
  336.  
  337. 'Jmail邮件发送
  338.  
  339. Function SendJmail(Email,Topic,MailBody)
  340.  
  341. Dim JMail
  342.  
  343. on error resume next
  344.  
  345. Set JMail = Server.CreateObject("JMail.SMTPMail")
  346.  
  347. JMail.LazySend             = true
  348.  
  349. JMail.silent             = true
  350.  
  351. JMail.Charset             = "gb2312"
  352.  
  353. JMail.ContentType       = "text/html"
  354.  
  355. JMail.Sender             = "wemaster@alibaba.info" '我们网站自己的邮箱
  356.  
  357. JMail.ReplyTo             = "wemaster@alibaba.info" '我们网站自己的邮箱
  358.  
  359. JMail.SenderName       = "阿里爸爸邮件发送"
  360.  
  361. JMail.Subject             = Topic
  362.  
  363. JMail.SimpleLayout       = true
  364.  
  365. JMail.Body             = MailBody
  366.  
  367. JMail.Priority             = 3
  368.  
  369. JMail.AddRecipient Email
  370.  
  371. JMail.AddHeader "Originating-IP", GBL_IPAddress
  372.  
  373. If JMail.Execute() = false Then
  374.  
  375.    SendJmail = 0
  376.  
  377. Else
  378.  
  379.    SendJmail = 1
  380.  
  381. End If
  382.  
  383. JMail.Close
  384.  
  385. Set JMail = Nothing
  386.  
  387. End Function
  388.  
  389. '分页
  390.  
  391. Function listPages(LinkFile) 
  392.  
  393.     if not (rs.eof and rs.bof) then
  394.  
  395. gopage=currentpage
  396.  
  397. totalpage=n
  398.  
  399. blockPage=Int((gopage-1)/10)*10+1
  400.  
  401. ' if instr(linkfile,"?page=")>0 or instr(linkfile,"&page=")>0 then
  402.  
  403. ' pos=instr(linkfile,"page=")-2
  404.  
  405. ' linkfile=left(linkfile,pos)
  406.  
  407. ' end if
  408.  
  409. If LCase(Request.ServerVariables("HTTPS")) = "off" Then 
  410.  
  411.      strTemp = "http://" 
  412.  
  413.      Else 
  414.  
  415.      strTemp = "https://" 
  416.  
  417.      End If 
  418.  
  419.      strTemp = strTemp & CheckStr(Request.ServerVariables("SERVER_NAME")) 
  420.  
  421.      If Request.ServerVariables("SERVER_PORT") <> 80 Then strTemp = strTemp & ":" & CheckStr(Request.ServerVariables("SERVER_PORT")) 
  422.  
  423.      strTemp = strTemp & CheckStr(Request.ServerVariables("URL"))
  424.  
  425.      lenstrTemp=len(strTemp)+1 
  426.  
  427. if instr(left(linkfile,lenstrTemp),"?")>0 then 
  428.  
  429. if blockPage = 1 Then
  430.  
  431.    Response.Write "<span disabled>【←前10页</span>&nbsp;"
  432.  
  433. Else
  434.  
  435.    Response.Write("<span disabled>【</span><a href=" & LinkFile & "&page="&blockPage-10&">←前10页</a>&nbsp;")
  436.  
  437. End If
  438.  
  439.     i=1
  440.  
  441.     Do Until i > 10 or blockPage > n
  442.  
  443.      If blockPage=int(gopage) Then
  444.  
  445.    Response.Write("<font color=#FF0000>[<b>"&blockPage&"</b>]</font>")
  446.  
  447. Else
  448.  
  449.    Response.Write(" <a href=" & LinkFile & "&page="&blockPage&">["&blockPage&"]</a> ")
  450.  
  451.      End If
  452.  
  453.      blockPage=blockPage+1
  454.  
  455.      i = i + 1
  456.  
  457.      Loop
  458.  
  459. if blockPage > totalpage Then
  460.  
  461.    Response.Write "&nbsp;<span disabled>后10页→】"
  462.  
  463. Else
  464.  
  465.    Response.Write("&nbsp;<a href=" & LinkFile & "&page="&blockPage&">后10页→</a><span disabled>】")
  466.  
  467. End If 
  468.  
  469. response.write" 直接到第 "
  470.  
  471. response.write"<select onchange=if(this.options[this.selectedIndex].value!=''){location=this.options[this.selectedIndex].value;}>"
  472.  
  473.      for i=1 to totalpage
  474.  
  475.      response.write"<option value='" & LinkFile & "&page=" & i & "'"
  476.  
  477.      if i=gopage then response.write"selected"
  478.  
  479.      response.write">"&i&"</option>"
  480.  
  481.      next
  482.  
  483.      response.write"</select>"
  484.  
  485.      response.write" 页<Br><Br>"
  486.  
  487. else
  488.  
  489. if blockPage = 1 Then
  490.  
  491.    Response.Write "<span disabled>【←前10页</span>&nbsp;"
  492.  
  493. Else
  494.  
  495.    Response.Write("<span disabled>【</span><a href=" & LinkFile & "?page="&blockPage-10&">←前10页</a>&nbsp;")
  496.  
  497. End If
  498.  
  499.     i=1
  500.  
  501.     Do Until i > 10 or blockPage > n
  502.  
  503.      If blockPage=int(gopage) Then
  504.  
  505.    Response.Write("<font color=#FF0000>[<b>"&blockPage&"</b>]</font>")
  506.  
  507. Else
  508.  
  509.    Response.Write(" <a href=" & LinkFile & "?page="&blockPage&">["&blockPage&"]</a> ")
  510.  
  511.      End If
  512.  
  513.      blockPage=blockPage+1
  514.  
  515.      i = i + 1
  516.  
  517.      Loop
  518.  
  519. if blockPage > totalpage Then
  520.  
  521.    Response.Write "&nbsp;<span disabled>后10页→】"
  522.  
  523. Else
  524.  
  525.    Response.Write("&nbsp;<a href=" & LinkFile & "?page="&blockPage&">后10页→</a><span disabled>】")
  526.  
  527. End If 
  528.  
  529. response.write" 直接到第 "
  530.  
  531. response.write"<select onchange=if(this.options[this.selectedIndex].value!=''){location=this.options[this.selectedIndex].value;}>"
  532.  
  533.      for i=1 to totalpage
  534.  
  535.      response.write"<option value='" & LinkFile & "?page=" & i & "'"
  536.  
  537.      if i=gopage then response.write"selected"
  538.  
  539.      response.write">"&i&"</option>"
  540.  
  541.      next
  542.  
  543.      response.write"</select>"
  544.  
  545.      response.write" 页<Br><Br>"
  546.  
  547. End If
  548.  
  549. Startinfo=((gopage-1)*msg_per_page)+1
  550.  
  551. Endinfo=gopage*msg_per_page
  552.  
  553. if Endinfo>totalrec then Endinfo=totalrec
  554.  
  555.    Response.Write("&nbsp;&nbsp;共 "&totalrec&" 条信息 当前显示第 "&Startinfo&" - "&Endinfo&" 条 每页 "&msg_per_page&" 条信息 共 "&n&" 页")
  556.  
  557. end if
  558.  
  559. End Function
  560.  
  561. '分页2
  562.  
  563. Function listPages2(LinkFile) 
  564.  
  565.     if not (rs.eof and rs.bof) then
  566.  
  567. gopage=currentpage
  568.  
  569. totalpage=n
  570.  
  571. blockPage=Int((gopage-1)/10)*10+1
  572.  
  573. If LCase(Request.ServerVariables("HTTPS")) = "off" Then 
  574.  
  575.      strTemp = "http://" 
  576.  
  577.      Else 
  578.  
  579.      strTemp = "https://" 
  580.  
  581.      End If 
  582.  
  583.      strTemp = strTemp & CheckStr(Request.ServerVariables("SERVER_NAME")) 
  584.  
  585.      If Request.ServerVariables("SERVER_PORT") <> 80 Then strTemp = strTemp & ":" & CheckStr(Request.ServerVariables("SERVER_PORT")) 
  586.  
  587.      strTemp = strTemp & CheckStr(Request.ServerVariables("URL"))
  588.  
  589.      lenstrTemp=len(strTemp)+1 
  590.  
  591. if instr(left(linkfile,lenstrTemp),"?")>0 then 
  592.  
  593. if blockPage = 1 Then
  594.  
  595.    Response.Write "<span disabled>前10页</span>&nbsp;"
  596.  
  597. Else
  598.  
  599.    Response.Write("<a href=" & LinkFile & "&page="&blockPage-10&">前10页</a>&nbsp;")
  600.  
  601. End If
  602.  
  603.     i=1
  604.  
  605.     Do Until i > 10 or blockPage > n
  606.  
  607.      If blockPage=int(gopage) Then
  608.  
  609.    Response.Write("<font color=#FF0000><b>"&blockPage&"</b></font>")
  610.  
  611. Else
  612.  
  613.    Response.Write(" <a href=" & LinkFile & "&page="&blockPage&">"&blockPage&"</a> ")
  614.  
  615.      End If
  616.  
  617.      blockPage=blockPage+1
  618.  
  619.      i = i + 1
  620.  
  621.      Loop
  622.  
  623. if blockPage > totalpage Then
  624.  
  625.    Response.Write "&nbsp;<span disabled>后10页"
  626.  
  627. Else
  628.  
  629.    Response.Write("&nbsp;<a href=" & LinkFile & "&page="&blockPage&">后10页</a><span disabled>")
  630.  
  631. End If 
  632.  
  633. response.write" 直接到第 "
  634.  
  635. response.write"<select onchange=if(this.options[this.selectedIndex].value!=''){location=this.options[this.selectedIndex].value;}>"
  636.  
  637.      for i=1 to totalpage
  638.  
  639.      response.write"<option value='" & LinkFile & "&page=" & i & "'"
  640.  
  641.      if i=gopage then response.write"selected"
  642.  
  643.      response.write">"&i&"</option>"
  644.  
  645.      next
  646.  
  647.      response.write"</select>"
  648.  
  649.      response.write" 页<Br><Br>"
  650.  
  651. else
  652.  
  653. if blockPage = 1 Then
  654.  
  655.    Response.Write "<span disabled>【←前10页</span>&nbsp;"
  656.  
  657. Else
  658.  
  659.    Response.Write("<span disabled>【</span><a href=" & LinkFile & "?page="&blockPage-10&">←前10页</a>&nbsp;")
  660.  
  661. End If
  662.  
  663.     i=1
  664.  
  665.     Do Until i > 10 or blockPage > n
  666.  
  667.      If blockPage=int(gopage) Then
  668.  
  669.    Response.Write("<font color=#FF0000>[<b>"&blockPage&"</b>]</font>")
  670.  
  671. Else
  672.  
  673.    Response.Write(" <a href=" & LinkFile & "?page="&blockPage&">["&blockPage&"]</a> ")
  674.  
  675.      End If
  676.  
  677.      blockPage=blockPage+1
  678.  
  679.      i = i + 1
  680.  
  681.      Loop
  682.  
  683. if blockPage > totalpage Then
  684.  
  685.    Response.Write "&nbsp;<span disabled>后10页→】"
  686.  
  687. Else
  688.  
  689.    Response.Write("&nbsp;<a href=" & LinkFile & "?page="&blockPage&">后10页→</a><span disabled>】")
  690.  
  691. End If 
  692.  
  693. response.write" 直接到第 "
  694.  
  695. response.write"<select onchange=if(this.options[this.selectedIndex].value!=''){location=this.options[this.selectedIndex].value;}>"
  696.  
  697.      for i=1 to totalpage
  698.  
  699.      response.write"<option value='" & LinkFile & "?page=" & i & "'"
  700.  
  701.      if i=gopage then response.write"selected"
  702.  
  703.      response.write">"&i&"</option>"
  704.  
  705.      next
  706.  
  707.      response.write"</select>"
  708.  
  709.      response.write" 页<Br><Br>"
  710.  
  711. End If
  712.  
  713. Startinfo=((gopage-1)*msg_per_page)+1
  714.  
  715. Endinfo=gopage*msg_per_page
  716.  
  717. if Endinfo>totalrec then Endinfo=totalrec
  718.  
  719.    Response.Write("&nbsp;&nbsp;共 "&totalrec&" 条信息 当前显示第 "&Startinfo&" - "&Endinfo&" 条 每页 "&msg_per_page&" 条信息 共 "&n&" 页")
  720.  
  721. end if
  722.  
  723. End Function
  724.  
  725. '判断文件类型是否合格
  726.  
  727. Function CheckFileExt(FileExt)
  728.  
  729. Dim ForumUpload,i
  730.  
  731. ForumUpload="gif,jpg,bmp,jpeg,png"
  732.  
  733. ForumUpload=Split(ForumUpload,",")
  734.  
  735. CheckFileExt=False
  736.  
  737. For i=0 to UBound(ForumUpload)
  738.  
  739.    If LCase(FileExt)=Lcase(Trim(ForumUpload(i))) Then
  740.  
  741.     CheckFileExt=True
  742.  
  743.     Exit Function
  744.  
  745.    End If
  746.  
  747. Next
  748.  
  749. End Function
  750.  
  751. '格式后缀
  752.  
  753. Function FixName(UpFileExt)
  754.  
  755. If IsEmpty(UpFileExt) Then Exit Function
  756.  
  757. FixName = Lcase(UpFileExt)
  758.  
  759. FixName = Replace(FixName,Chr(0),"")
  760.  
  761. FixName = Replace(FixName,".","")
  762.  
  763. FixName = Replace(FixName,"asp","")
  764.  
  765. FixName = Replace(FixName,"asa","")
  766.  
  767. FixName = Replace(FixName,"aspx","")
  768.  
  769. FixName = Replace(FixName,"cer","")
  770.  
  771. FixName = Replace(FixName,"cdx","")
  772.  
  773. FixName = Replace(FixName,"htr","")
  774.  
  775. End Function
  776.  
  777. '文件Content-Type判断
  778.  
  779. Function CheckFileType(FileType)
  780.  
  781. CheckFileType = False
  782.  
  783. If Left(Cstr(Lcase(Trim(FileType))),6)="image/" Then CheckFileType = True
  784.  
  785. End Function
  786.  
  787. %>

本文地址:/425/
  • 相关文章
  • 推荐文章
  • 最新文章
发表评论





您的IP:52.200.130.163,来自:

留言

 


免费咨询
建站咨询热线
15967985565

扫一扫微信咨询
QQ: 358758308 Skype: yuzhiguo Facebook: yuzhiguo Email