주로 세션을 사용하여 판단하는 보다 포괄적인 ASP 안티 CC 공격 코드 공유입니다. 다음과 같이 코드 코드를 복사합니다.
<%
희미한 CC_Info(4),strInfo,strTemp
세션(CC_Info) = 그렇다면
CC_Info(0) = cclog.txt '로그 파일 이름
CC_Info(1) = 요청.서버 변수(HTTP_X_FORWARDED_FOR)
CC_Info(2) = 요청.서버변수(REMOTE_ADDR)
CC_Info(3) = 10 'N초 이내에 현재 페이지를 새로 고치는 것을 금지합니다.
CC_Info(4) = badip.txt 'IP 블랙리스트 파일명
세션(CC_Info) = CC_Info(0) &|& CC_Info(1) &|& CC_Info(2) &|& CC_Info(3) &|& CC_Info(4)
또 다른
strInfo = 분할(세션(CC_Info),|)
CC_Info(0) = strInfo(0)
CC_Info(1) = strInfo(1)
CC_Info(2) = strInfo(2)
CC_Info(3) = strInfo(3)
CC_Info(4) = strInfo(4)
종료 조건
Const chkRefresh = 1 '0은 새로 고침 방지 기능을 끕니다.
Const chkProxy = 1 '0은 프록시 확인을 끕니다.
Const chkBadIP = 1 '0은 IP 블랙리스트를 끕니다.
세션(BadIP) = 그렇다면
strInfo = 읽기파일(CC_Info(4))
strInfo =이면 strInfo = chinavb.net
세션(BadIP) = strInfo
또 다른
strInfo = 세션(BadIP)
종료 조건
'/*첫 번째 레이어 판단, N초 이내에 새로 고침 금지*/
chkRefresh = 1이면
세션(새로 고침 시간)= 다음인 경우
세션(RefreshTime)=지금()
또 다른
DateDiff(s, Session(RefreshTime), Now()) < CInt(CC_Info(3)) 다음인 경우
응답.쓰기(시스템이 사용 중입니다. 나중에 다시 시도하십시오! 오류 코드 001)
응답.끝()
또 다른
세션(RefreshTime)=현재()
종료 조건
종료 조건
종료 조건
'/*2단계 판단, 에이전트의 시청 금지*/
chkProxy = 1인 경우
CC_Info(1) <> 그렇다면
InStr(strInfo,CC_Info(1)) = 0이면
strTemp = CC_Info(1) & vbCrLf
InStr(strInfo,CC_Info(2)) = 0이면
strTemp = strTemp & [ & CC_Info(2) & ] & vbCrLf
종료 조건
SaveLog CC_Info(4),strTemp
strInfo = strInfo & strTemp
세션(BadIP) = strInfo
종료 조건
'CC 공격 로그 기록
SaveLog CC_Info(0),CC_Info(1) & [& CC_Info(2) & ] & Now() &vbCrLf
응답.쓰기(시스템이 사용 중입니다. 나중에 다시 시도하십시오! 오류 코드 002)
응답.끝()
종료 조건
종료 조건
'/*3차 판단, IP 블랙리스트 조회 불가*/
chkBadIP = 1인 경우
InStr(strInfo,CC_Info(2))>0이면
응답.쓰기(시스템이 사용 중입니다. 나중에 다시 시도하십시오! 오류 코드 003)
응답.끝()
종료 조건
종료 조건
'읽기용=1, 쓰기용=2, 추가하기=8
기능 SaveLog(파일명, 파일내용)
오류 발생 시 다음 재개
희미한 fso, 이 파일
파일 이름 = Server.MapPath(파일 이름)
fso = CreateObject(Scripting.FileSystemObject) 설정
오류 <> 0이면
응답.쓰기(&filename& 파일을 쓰지 못했습니다. 시스템이 FSO를 지원하지 않을 수 있습니다!)
응답.끝()
종료 조건
이 파일을 fso.OpenTextFile(filename, 8, True)로 설정하세요.
thisfile.write(파일 내용)
이 파일.닫기
fso = 없음 설정
기능 종료
함수 ReadFile(파일 이름)
오류 발생 시 다음 재개
Dim fso, 이 파일
fso = CreateObject(Scripting.FileSystemObject) 설정
오류 <> 0이면
응답.쓰기(&filename& 파일을 읽지 못했습니다. 시스템이 FSO를 지원하지 않을 수 있습니다!)
응답.끝()
종료 조건
이 파일을 fso.OpenTextFile(Server.MapPath(파일 이름), 1, True)로 설정합니다.
ReadFile = thisfile.ReadAll
이 파일.닫기
이 파일 = 없음으로 설정
fso = 없음 설정
기능 종료
%>