asp程序正则过滤判断是否安全字符串

2019-02-26 栏目:网络安全 查看()

以下代码在asp程序中的注册、登录、提交数据等特殊字段中使用,作为基础的特殊字符串的过滤,代码如下

1.  ' ================================================= =====  

2.  判断是否安全字符串,在注册、登录、提交数据等特殊字段中使用  

3.  ' ================================================= =====   

4.  Function IsSafeStr(str)  

5.   Dim s_BadStr, n, i  

6.   s_BadStr = "'&<>?%,;:()`~!@#$^*{}[]|+-=" & Chr(34) & Chr(9) & Chr(32)  

7.   n = Len(s_BadStr)  

8.   IsSafeStr = True  

9.   For i = 1 To n  

10.   If Instr(str, Mid(s_BadStr, i, 1)) > 0 Then  

11.    IsSafeStr = False  

12.    Exit Function  

13.   End If  

14.  Next  

15. End Function  

16. '正则电话号码  

17. Function CheckTelPhone(TelPhone)  

18.     dim re,re2,CheckResult  

19.     Set re = new RegExp  

20.     Set re2 = new RegExp  

21.     re.Pattern = "^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$" '电话格式1  

22.     re2.Pattern = "^(([0\+]\d{2,3}-)?(0\d{2,3}))?(\d{7,8})(-(\d{3,}))?$" '电话格式2  

23.     '进行匹配测试  

24.     If re.Test(TelPhone) or re2.Test(TelPhone) Then  

25.         CheckResult=true  

26.     Else  

27.         CheckResult=false  

28.     End If  

29.     CheckTelPhone=CheckResult  

30. end function    

31. '正则手机号码  

32. Function CheckMobile(Mobile)  

33.     dim re,CheckResult  

34.     Set re = new RegExp  

35.     re.Pattern = "^(((13[0-9]{1})|145|150|151|152|153|155|156|157|158|159|170|176|177|178|180|181|182|183|184|185|186|187|188|189)+\d{8})$"  

36.     '进行匹配测试  

37.     If re.Test(Mobile) Then  

38.         CheckResult=true  

39.     Else  

40.         CheckResult=false  

41.     End If  

42.     CheckMobile=CheckResult  

43. end function    

44. '正则检测邮箱  

45. Function CheckEmail(Email)  

46. dim CheckResult,re  

47. Set re = new RegExp '创建RegExp实例  

48. re.Pattern = "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"  

49. 'Email = "service@online.qh.cn"  

50. '进行匹配测试,并写出是否匹配成功  

51. If re.Test(Email) Then  

52. ''Response.write("匹配成功!")  

53. CheckResult=true  

54. Else  

55. CheckResult=false  

56. ''Response.write("匹配成功!")  

57. End If  

58. CheckEmail=CheckResult  

59. end function    

60. '正则检测QQ号码  

61. Function CheckQQnum(QQnum)  

62. dim CheckResult,re  

63. Set re = new RegExp  

64. re.Pattern = "^\d{5,10}$"  

65. If re.Test(QQnum) Then  

66. CheckResult=true  

67. Else  

68. CheckResult=false  

69. End If  

70. CheckQQnum=CheckResult  

71. end function    

72. '正则网名数字大小写字母(6-10)  

73. Function CheckCdoe(NetName)  

74. dim re,CheckResult  

75. Set re = new RegExp  

76. re.Pattern = "^[0-9]{6,8}$"  

77. '进行匹配测试  

78. If re.Test(NetName) Then  

79. CheckResult=true  

80. Else  

81. CheckResult=false  

82. End If  

83. CheckCdoe=CheckResult  

84. end function  

85. function cutStr(str)  

86. if right(str,1)="\" then   

87. str=left(str,len(str)-1)  

88. end if  

89. str=Replace(str,"\","/")   

90. cutStr =str  

91. end function    

92. function getWebSite  

93. dim len1  

94. dim wwwroot:wwwroot=cutStr(server.MapPath("/"))  

95. dim webroot:webroot=cutStr(server.MapPath("../"))  

96. if len(webroot)-len(wwwroot)<0 then  

97. len1=0  

98. else  

99. len1=len(webroot)-len(wwwroot)  

100.      end if  

101.      dim siteroot:siteroot=Right(webroot,len1)  

102.      getWebSite=siteroot  

103.      end function    

104.      '关键词替换链接  

105.      function replacekey(Tcontent)  

106.          if Tcontent="" then exit function  

107.          dim sql,rs  

108.          sql="select KeyWordsText,KeyWordsUrl from AspCms_KeyWords where KeyWordsStatus=1 order by KeyWordsID desc"  

109.          set rs=conn.exec(sql,"r1")  

110.          if not rs.eof then  

111.              do while not rs.eof  

112.                  Tcontent= replace(Tcontent,trim(rs("KeyWordsText")),""&trim(rs("KeyWordsText"))&"",1,1)  

113.                  rs.movenext  

114.              loop  

115.          end if  

116.          replacekey=Tcontent  

117.      End Function    

118.      Function getReUrl  

119.              dim rs  

120.                  set rs=conn.exec("select * from AspCms_Language where IsDefault=1","r1")  

121.                  if not rs.eof then  

122.                  getReUrl=rs("siteUrl")  

123.                  end if  

124.      end function  

125.      Function getReTitle  

126.              dim rs  

127.                  set rs=conn.exec("select * from AspCms_Language where IsDefault=1","r1")  

128.                  if not rs.eof then  

129.                  getReTitle=rs("siteTitle")  

130.                  end if  

131.      end function  

132.        Function getIIS  

133.          getIIS=mid(request.ServerVariables("SERVER_SOFTWARE"),15)  

134.      end Function  


扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

(28)
()
郑重申明:青海达扬网络传媒有限责任公司以外的任何单位或个人,不得使用该案例作为工作成功展示!