程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> 常用防CC攻擊的asp代碼

常用防CC攻擊的asp代碼

編輯:ASP技巧

ASP利用session判斷,來實現全面防CC攻擊代碼。

vIEw source print? 001 <% 002 Dim CC_Info(4),strInfo,strTemp 003 If Session("CC_Info") = "" Then 004 CC_Info(0) = "cclog.txt" '日志文件名 005 CC_Info(1) = Request.ServerVariables("HTTP_X_FORWARDED_FOR") 006 CC_Info(2) = Request.ServerVariables("REMOTE_ADDR") 007 CC_Info(3) = 10 'N秒內禁止刷新當前頁面 008 CC_Info(4) = "badip.txt" 'IP黑名單文件名 009 Session("CC_Info") = CC_Info(0) &"|"& CC_Info(1) &"|"& CC_Info(2) &"|"& CC_Info(3) &"|"& CC_Info(4) 010 Else 011 strInfo = Split(Session("CC_Info"),"|") 012 CC_Info(0) = strInfo(0) 013 CC_Info(1) = strInfo(1) 014 CC_Info(2) = strInfo(2) 015 CC_Info(3) = strInfo(3) 016 CC_Info(4) = strInfo(4) 017 End If 018   019 Const chkRefresh = 1 '0關閉防刷新 020 Const chkProxy = 1 '0關閉代理驗證 021 Const chkBadIP = 1 '0關閉IP黑名單 022   023 If Session("BadIP") = "" Then 024 strInfo = ReadFile(CC_Info(4)) 025 If strInfo = "" Then strInfo = "chinavb.Net" 026 Session("BadIP") = strInfo 027 Else 028 strInfo = Session("BadIP") 029 End If 030   031 '/*第一層判斷,N秒內禁止刷新*/ 032 If chkRefresh = 1 Then 033 If Session("RefreshTime")="" Then 034 Session("RefreshTime")=Now() 035 Else 036 If DateDiff("s", Session("RefreshTime"), Now()) < CInt(CC_Info(3))Then 037 Response.Write("系統繁忙,請稍候再試!錯誤代碼001") 038 Response.End() 039 Else 040 Session("RefreshTime")=Now() 041 End If 042 End If 043 End If 044   045 '/*第二層判斷,代理禁止查看*/ 046 If chkProxy = 1 Then 047 If CC_Info(1) <> "" Then 048 If InStr(strInfo,CC_Info(1)) = 0 Then 049 strTemp = CC_Info(1) & vbCrLf 050 If InStr(strInfo,CC_Info(2)) = 0 Then 051 strTemp = strTemp & "[" & CC_Info(2) & "]" & vbCrLf 052 End If 053 SaveLog CC_Info(4),strTemp 054 strInfo = strInfo & strTemp 055 Session("BadIP") = strInfo 056 End If 057 '記錄CC攻擊日志 058 SaveLog CC_Info(0),CC_Info(1) & "["& CC_Info(2) & "]" & Now() &vbCrLf 059 Response.Write("系統繁忙,請稍候再試!錯誤代碼002") 060 Response.End() 061 End If 062 End If 063   064 '/*第三層判斷,IP黑名單禁止查看*/ 065 If chkBadIP = 1 Then 066 If InStr(strInfo,CC_Info(2))>0 Then 067 Response.Write("系統繁忙,請稍候再試!錯誤代碼003") 068 Response.End() 069 End If 070 End If 071   072 'ForReading=1,ForWriting=2,ForAppending=8 073 Function SaveLog(filename, filecontent) 074 On Error Resume Next 075 Dim fso, thisfile 076 filename = Server.MapPath(filename) 077 Set fso = CreateObject("Scripting.FileSystemObject") 078 If Err <> 0 Then 079 Response.Write("寫入文件"&filename&"失敗,可能您的系統不支持FSO!") 080 Response.End() 081 End If 082 Set thisfile = fso.OpenTextFile(filename, 8, True) 083 thisfile.write (filecontent) 084 thisfile.Close 085 Set fso = Nothing 086 End Function 087   088 Function ReadFile(filename) 089 On Error Resume Next 090 Dim fso, thisfile 091 Set fso = CreateObject("Scripting.FileSystemObject") 092 If Err <> 0 Then 093 Response.Write("讀取文件"&filename&"失敗,可能您的系統不支持FSO!") 094 Response.End() 095 End If 096 Set thisfile = fso.OpenTextFile(Server.MapPath(filename), 1, True) 097 ReadFile = thisfile.ReadAll 098 thisfile.Close 099 Set thisfile = Nothing 100 Set fso = Nothing 101 End Function 102 %>
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved