Более комплексное совместное использование кода атаки asp anti-CC, в основном с использованием сеанса для оценки. Скопируйте код кода следующим образом:
<%
Тусклый CC_Info(4),strInfo,strTemp
Если сеанс (CC_Info) = Тогда
CC_Info(0) = cclog.txt 'Имя файла журнала
CC_Info(1) = Request.ServerVariables(HTTP_X_FORWARDED_FOR)
CC_Info(2) = Request.ServerVariables(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 = Split(Сеанс(CC_Info),|)
CC_Info(0) = стрИнформация(0)
CC_Info(1) = стрИнформация(1)
CC_Info(2) = стрИнформация(2)
CC_Info(3) = стрИнформация(3)
CC_Info(4) = стрИнформация(4)
Конец, если
Const chkRefresh = 1 '0 отключает антиобновление
Const chkProxy = 1 '0 отключает проверку прокси
Const chkBadIP = 1 '0 отключает черный список IP-адресов.
Если сеанс(BadIP) = Тогда
strInfo = ReadFile(CC_Info(4))
Если strInfo = Тогда strInfo = chinavb.net
Сеанс (BadIP) = strInfo
Еще
strInfo = Сеанс (BadIP)
Конец, если
'/*Принятие решения первого уровня, запретить обновление в течение N секунд*/
Если chkRefresh = 1 Тогда
Если сеанс(RefreshTime)= Тогда
Сеанс(RefreshTime)=Сейчас()
Еще
Если DateDiff(s, Session(RefreshTime), Now()) < CInt(CC_Info(3)) Тогда
Ответ.Запись(Система занята, повторите попытку позже! Код ошибки 001)
Ответ.Конец()
Еще
Сеанс(RefreshTime)=Сейчас()
Конец, если
Конец, если
Конец, если
'/*Второй уровень суждения, агент запрещает просмотр*/
Если chkProxy = 1 Тогда
Если CC_Info(1) <> Тогда
Если InStr(strInfo,CC_Info(1)) = 0 Тогда
стрТемп = CC_Info(1) и vbCrLf
Если InStr(strInfo,CC_Info(2)) = 0 Тогда
strTemp = strTemp & [ & CC_Info(2) & ] & vbCrLf
Конец, если
Журнал сохранения CC_Info(4),strTemp
стрИнфо = стрИнфо и стрТемп
Сеанс (BadIP) = strInfo
Конец, если
'Запись журнала атак CC
SaveLog CC_Info(0),CC_Info(1) & [& CC_Info(2) & ] & Now() &vbCrLf
Ответ.Запись(Система занята, повторите попытку позже! Код ошибки 002)
Ответ.Конец()
Конец, если
Конец, если
'/*Суждение третьего уровня, черный список IP-адресов запрещает просмотр*/
Если chkBadIP = 1 Тогда
Если InStr(strInfo,CC_Info(2))>0 Тогда
Ответ.Запись(Система занята, повторите попытку позже! Код ошибки 003)
Ответ.Конец()
Конец, если
Конец, если
'Для чтения = 1, для записи = 2, для добавления = 8
Функция SaveLog(имя файла, содержимое файла)
При ошибке Возобновить Далее
Dim fso, этот файл
имя файла = Server.MapPath(имя файла)
Установите fso = CreateObject(Scripting.FileSystemObject)
Если Err <> 0 Тогда
Response.Write(Не удалось записать файл &имя_файла&, возможно, ваша система не поддерживает FSO!)
Ответ.Конец()
Конец, если
Установите этот файл = fso.OpenTextFile(имя файла, 8, True)
thisfile.write(содержимое файла)
этотфайл.Закрыть
Установить fso = Ничего
Конечная функция
Функция ReadFile(имя файла)
При ошибке Возобновить Далее
Dim fso, этот файл
Установите fso = CreateObject(Scripting.FileSystemObject)
Если Err <> 0 Тогда
Response.Write(Не удалось прочитать файл &имя_файла&, возможно, ваша система не поддерживает FSO!)
Ответ.Конец()
Конец, если
Установите этот файл = fso.OpenTextFile(Server.MapPath(имя файла), 1, True)
ЧтениеФайла = этотфайл.ЧитатьВсе
этотфайл.Закрыть
Установить этот файл = Ничего
Установить fso = Ничего
Конечная функция
%>