Um compartilhamento de código de ataque anti-CC asp mais abrangente, principalmente usando sessão para julgar. Copie o código do código da seguinte forma:
<%
Dim CC_Info(4),strInfo,strTemp
Se Sessão(CC_Info) = Então
CC_Info(0) = cclog.txt 'Nome do arquivo de log
CC_Info(1) = Solicitação.ServerVariables(HTTP_X_FORWARDED_FOR)
CC_Info(2) = Solicitação.ServerVariables(REMOTE_ADDR)
CC_Info(3) = 10 'Proíbe a atualização da página atual em N segundos
CC_Info(4) = badip.txt 'Nome do arquivo da lista negra de IP
Sessão(CC_Info) = CC_Info(0) &|& CC_Info(1) &|& CC_Info(2) &|& CC_Info(3) &|& CC_Info(4)
Outro
strInfo = Dividir(Sessão(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)
Terminar se
Const chkRefresh = 1 '0 desativa a anti-atualização
Const chkProxy = 1 '0 desativa a verificação de proxy
Const chkBadIP = 1 '0 desativa a lista negra de IP
Se Sessão(BadIP) = Então
strInfo = ReadFile(CC_Info(4))
Se strInfo = Então strInfo = chinavb.net
Sessão(BadIP) = strInfo
Outro
strInfo = Sessão(BadIP)
Terminar se
'/*Julgamento da primeira camada, proibir atualização em N segundos*/
Se chkRefresh = 1 Então
Se Sessão(RefreshTime)=Então
Sessão(Hora de Atualização)=Agora()
Outro
Se DateDiff(s, Session(RefreshTime), Now()) < CInt(CC_Info(3)) Então
Response.Write(O sistema está ocupado, tente novamente mais tarde! Código de erro 001)
Resposta.End()
Outro
Sessão(Hora de Atualização)=Agora()
Terminar se
Terminar se
Terminar se
'/*Segundo nível de julgamento, o agente proíbe a visualização*/
Se chkProxy = 1 Então
Se CC_Info(1) <> Então
Se InStr(strInfo,CC_Info(1)) = 0 Então
strTemp = CC_Info(1) & vbCrLf
Se InStr(strInfo,CC_Info(2)) = 0 Então
strTemp = strTemp & [ & CC_Info(2) & ] & vbCrLf
Terminar se
SaveLog CC_Info(4),strTemp
strInfo = strInfo & strTemp
Sessão(BadIP) = strInfo
Terminar se
'Registrar log de ataque CC
SaveLog CC_Info(0),CC_Info(1) & [& CC_Info(2) & ] & Agora() &vbCrLf
Response.Write(O sistema está ocupado, tente novamente mais tarde! Código de erro 002)
Resposta.End()
Terminar se
Terminar se
'/*Julgamento de terceiro nível, lista negra de IP proíbe visualização*/
Se chkBadIP = 1 Então
Se InStr(strInfo,CC_Info(2))>0 Então
Response.Write(O sistema está ocupado, tente novamente mais tarde! Código de erro 003)
Resposta.End()
Terminar se
Terminar se
'ForReading=1,ForWriting=2,ForAppending=8
Função SaveLog(nome do arquivo, conteúdo do arquivo)
Em caso de erro, retomar o próximo
Dim fso, este arquivo
nome do arquivo = Server.MapPath (nome do arquivo)
Definir fso = CreateObject(Scripting.FileSystemObject)
Se Errar <> 0 Então
Response.Write (Falha ao gravar o arquivo &nome do arquivo&, talvez seu sistema não suporte FSO!)
Resposta.End()
Terminar se
Defina este arquivo = fso.OpenTextFile(nome do arquivo, 8, True)
este arquivo.write (conteúdo do arquivo)
este arquivo.Fechar
Definir fso = Nada
Função final
Função ReadFile(nome do arquivo)
Em caso de erro, retomar o próximo
Dim fso, este arquivo
Definir fso = CreateObject(Scripting.FileSystemObject)
Se Errar <> 0 Então
Response.Write (Falha ao ler o arquivo &nome do arquivo&, talvez seu sistema não suporte FSO!)
Resposta.End()
Terminar se
Defina este arquivo = fso.OpenTextFile(Server.MapPath(nome do arquivo), 1, True)
ReadFile = este arquivo.ReadAll
este arquivo.Fechar
Defina este arquivo = Nada
Definir fso = Nada
Função final
%>