Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ZioNN

Como bloquear isso?

Recommended Posts

Pessoal,

 

Tenho em alguns sites que desenvolvi, na página de contato, um form que envia os dados para uma página .asp que processa as informações, formata e envia por CDOSYS ou CDONTS.

 

Todos os sites que são assim, sem exceção, enviam mensagens de contato que parecem ter sido criadas por bots, cada hora vindo de um IP diferente, sempre internacional. Veja exemplo abaixo:

 

CONTATO PELO SITE

--------------------------------------

 

Data/Hora de Envio: 3/5/2010 18:45:09

IP do usuário: 74.207.251.145

Nome: tpmRxaHhT

Email: yxhqis@vnocjl.com

Fone: (Uox) PFWzrCqvsIdpIgQ - Ramal: flErszGIYHnESjo

Cidade: 0

Estado: GO

Mensagem: CVnqNE ndyllwhhvyud <http://ndyllwhhvyud.com/> , afomebczbhgd, [link=http://vmjeoujlqwzv.com/]vmjeoujlqwzv[/link], http://czgwzqlitjqu.com/

 

 

 

Já tentei o esquema de verificar na página de processamento se a requisição veio da página do form (com HTTP_REFERER), mas não adianta. Continuam enviando estas mensagens.

 

Que raio é isso? Alguém sabe, já passou por isso? Como bloquear?

 

Agradeço antecipadamente.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta usar assim:

 

<% 'Se não vier do meu dominio ou vim em branco vai bloquear
 IF Request.ServerVariables("HTTP_REFERER") <> Request.ServerVariables("SERVER_NAME") and Request.ServerVariables("HTTP_REFERER") = "" THEN response.redirect("sua_pag_blokeada")
 ELSE %>
 aki seu codigo 
<% End IF %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Xar,

 

Então, tentei isso, mas não funcionou em nenhum dos sites. Meu script é basicamente isso aí mesmo.

 

Fiz com a mesma comparação, só que quando detectava injection mandava o e-mail só pra mim, e não pro cliente. O que acontecia é que muitas vezes passava o injection normal, chegando ao cliente, e outras vezes bloqueava e-mails válidos, preenchidos pelo form, mas que vieram com o HTTP_REFERER vazio sabe-se lá porque.

 

Ainda não entendi porque falha em bloquear injection e bloqueia envios legítimos.

 

Veja abaixo

 

Function validaOrigemDados()
	
		nameServer 	= Request.ServerVariables("SERVER_NAME")
		urlOrigem	= Request.ServerVariables("HTTP_REFERER")
		
		posNameServer = Instr(urlOrigem,nameServer)

		If posNameServer = 0 OR IsNull(posNameServer) Then
			validaOrigemDados = false
		Else
			validaOrigemDados = true
		End If
	
	End Function

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.