: : SCRIPTS HELP : :  O Futuro do Web Design
 

 

 

:: Principal
 :: Downloads
 :: Apostilas
 :: Tutoriais
 :: ASP
 :: CGI
 :: CSS
 :: DHTML

 :: FLASH

 :: JAVA
 :: JAVA APPLET

 :: CURSO HTML
 :: CURSO JAVA SCRIPT
 :: PHP
 :: Destaques
 :: Script do mês


 

 

 :: Concurso
 :: Anuncie

 :: Parceria
 :: Fale Conosco
 :: Tire sua Dúvida

 

 

 

 

 

 

 

 

 

 

 

<<< voltar

:: ASP :: 

 

Controle de Acessos por lista de domínios


Muitos Webmaster vivem com a preocupação diária do roubo de links, sejam estes para uso indevido de forms, downloads, mail, etc. Este script serve para fechar o site contra este tipo de abusos. 

O script em si pode ser usado como um simples #include ou no topo da página que pretendemos defender. Basicamente recolhe a variável de servidor HTTP_REFERER e compara-a com uma lista de domínios que temos na file domvalidos.txt, se estiver lá então a leitura da página prossegue, senão o usuário é redirecionado para a file saida.asp. 

O script também faz o log dos domínios (+ a hora!) que estão acessando a nossa página para o file log.txt, sabemos assim quem está usando indevidamente a página.
Devemos ter em atenção que temos de criar os files domvalidos.txt e log.txt, devendo ser editada com os domínios que pretendemos deixar acessar a nossa página.


<%
Response.Buffer = True

Dim fechadominio_fileObject, fechadominio_fileName, fechadominio_fileHandle, fechadominio_httpReferer, fechadominio_httpHost, fechadominio_hostOK

fechadominio_hostOK = false

'''' Recolha do URL de onde o user veio... 
fechadominio_httpReferer=Request.ServerVariables("HTTP_REFERER")

'''' Grava endereços das páginas de onde vieram os users, com a hora que vieram...
Set ObjectoFicheiro = CreateObject("Scripting.fileSystemObject")
Set EscreveTexto = ObjectoFicheiro.OpenTextFile(Server.MapPath("log.txt"),8,True)
EscreveTexto.WriteLine(Hour(Now())&"h"&Minute(Now())&"m"&" - "&Request.ServerVariables("HTTP_REFERER"))
EscreveTexto.Close

IF (InStr(fechadominio_httpReferer, "//") <> 0 AND InStr(fechadominio_httpReferer, "//") <> Null) THEN
fechadominio_httpHost = mid(fechadominio_httpReferer, InStr(fechadominio_httpReferer, "//")+2)
END IF
IF (InStr(fechadominio_httpReferer, "/") <> 0 AND InStr(fechadominio_httpReferer, "/") <> Null) THEN
fechadominio_httpHost = left(fechadominio_httpHost, InStr(fechadominio_httpHost, "/")-1)
END IF

'''' Abre domvalidos.txt...
fechadominio_fileName = Server.MapPath(".")&"\domvalidos.txt"
SET fechadominio_fileObject = Server.CreateObject("Scripting.FileSystemObject")
SET fechadominio_fileHandle = fechadominio_fileObject.OpenTextFile(fechadominio_fileName, 1, FALSE, FALSE)

'''' Ciclo de check para verificar se o domínio está dentro dos válidos...
WHILE fechadominio_fileHandle.AtEndOfStream <> True
fechadominio_nextLine=fechadominio_fileHandle.ReadLine
IF (LCase(fechadominio_httpHost) = LCase(fechadominio_nextLine)) THEN
fechadominio_hostOK = true
END IF
WEND

'''' Fechamento do file...
fechadominio_fileHandle.Close
SET fechadominio_fileHandle = Nothing
SET fechadominio_fileObject = Nothing

'''' Se não foi encontrado um domínio válido então o user é redirecionado para saida.asp (pode ser para qualquer outra ao nosso gosto)...
IF NOT fechadominio_hostOK THEN
Response.Clear
Response.Redirect("saida.asp")
END IF
%>

 

Bannerlandia
Bannerlandia