..:: MX Studio Fóruns ::..: Problemas com Robô - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Problemas com Robô no form de contato

#1 User is offline   rcdesign 

  • Group: Membros
  • Posts: 109
  • Joined: 19-January 04

  Posted 15 September 2005 - 03:18 PM

Pessoal,


estou com o seguinte problema: Tenho um formulário de contato com programação e que usa a função mail para enviar a mensagem para o dono do site.

Há algumas semanas o cliente reclamou que tem recebido diversas mensagens oriundas do form de contato "estranhas". Essas mensagens chegam assim para o email dele:
QUOTE
Formulário de Contato
Nome: dwflikj@antropofocus.com.br
E-mail: dwflikj@antropofocus.com.br
Telefone: dwflikj@antropofocus.com.br - dwflikj@antropofocus.com.br
Comentários:
dwflikj@antropofocus.com.br


o "dwflikj" é variável... cerca de 30 mensagens desse tipo todo dia, sempre com remetente diferente, utilizando o domínio dele.

Pra tentar evitar eu incluí validações para os campos e também um código de segurança que gera automaticamente caracteres alfa-numéricos a cada refresh na página. Não adiantou... as mensagens passaram a chegar assim:

QUOTE
Formulário de Contato
Nome: dwflikj@antropofocus.com.br
E-mail: dwflikj@antropofocus.com.br
Telefone: dwflikj@antropofocus.com.br - dwflikj@antropofocus.com.br
Comentários:
dwflikj@antropofocus.com.br
Cód. de Segurança:
dwflikj@antropofocus.com.br


Já tentei diversas coisas como alterar email de destino, por exemplo, mas nada deu resultado. credito que seja algum programa robô que está conseguindo pegar o código php e enviar as mensagens, acho que com o único objetivo de "encher o saco" (desculpe o desabafo)..

Alguém já passou por isso?? Sabe como resolver/evitar??

Pensei também na possibilidade de esconder o endereço de email de destino, alguém sabe como fazer isso??

Abaixo meu código da página do form de contato...

PHP

<?php
if (getenv("REQUEST_METHOD") == "POST")
{
  
$nome         = $_POST['nome'];
  
$email          = $_POST['email'];
  
$ddd            = $_POST['ddd'];
  
$telefone        = $_POST['telefone'];
  
$comentarios    = $_POST['comentarios'];
  
$com            = $_POST['com'];
  
$comentarios  = nl2br($comentarios);  
  if (
$nome == '')
{
echo(
"<script>
    alert(\"
Você deve preencher o campo Nome.&#092;");
    
window.location = 'javascript:history.back(-1)';
    
</script>");
}
if ($email == '')
{
echo("<script>
    alert(\"Você deve preencher o campo E-mail.\");
    window.location = 'javascript:history.back(-1)';
    </script>");
}
if ($comentarios == '')
{
echo("<script>
    alert(\"Você deve escrever uma Mensagem.\");
    window.location = 'javascript:history.back(-1)';
    </script>");
}

$num=$_POST['num'];
$com=$_POST['com'];
if (empty($com)) {
echo"<table width=\"100%\" border=\"0\">
<tr>
<td>('<script>
    alert(\"O código de segurança não foi preenchido.\");
    window.location = 'javascript:history.back(-1)';
    </script>');</td>
</tr>
</table>
<table width=\"100%\" border=\"0\">
<tr>
<td valign=\"middle\"><div align=\"center\"> </div></td>
</tr>
</table>";
exit();   
}
elseif (!strcasecmp($num,$com) ==0) {
echo"<table width=\"100%\" border=\"0\">
<tr>
<td>
('<script>
    alert(\"O código de segurança não confere.\");
    window.location = 'javascript:history.back(-1)';
    </script>')
</td>
</tr>
</table>
<table width=\"100%\" border=\"0\">
<tr>
<td valign=\"middle\"><div align=\"center\"> </div></td>
</tr>
</table>";

}else
{
//Inicio do Email para o Cliente
  $MailRecipiente = "rc@rcdesignbrasil.com";  //Coloque aqui o e-mail que vai receber
  $MailAssunto    = "Formulário de Contato";
  $headers  = "MIME-Version: 1.0\r\n";
  $headers .= "Content-type: text/html; charset=iso-8859-15\r\n";
  $headers .= "From: $email\r\n";
  $msg = "<html><head>
<style type='text/css'>
<!--
.style1 {font-family: Verdana, sans-serif; font-weight: bold; font-size: 12px; }
.style2 {font-family: Verdana, sans-serif; font-size: 12px; }
.style3 {font-family: Verdana, sans-serif; font-weight: bold; font-size: 14px; }
-->
</style>
</head><body>
<table width='100%' border='0' cellspacing='1' cellpadding='2' bgcolor='#003366'>
    <tr valign='top' bgcolor='#FFFFFF'>
      <td height='21' colspan='3'><span class='style3'>Formulário de Contato</span></td>
    </tr>
    <tr valign='top' bgcolor='#FFFFFF'>
      <td width='25%' height='21'><span class='style1'>Nome:</span></td>
      <td height='21' colspan='2'><span class='style2'>$nome</span></td>
    </tr>
    <tr valign='top' bgcolor='#FFFFFF'>
      <td width='25%' height='21'><span class='style1'>E-mail:</span></td>
      <td height='21' colspan='2'><span class='style2'>$email</span></td>
    </tr>
    <tr valign='top' bgcolor='#FFFFFF'>
      <td width='25%' height='21'><span class='style1'>Telefone:</span></td>
      <td height='21' colspan='2'><span class='style2'>$ddd - $telefone</span></td>
    </tr>
    <tr valign='top' bgcolor='#FFFFFF'>
      <td height='21' colspan='3'><span class='style1'>Coment&aacute;rios:</span></td>
    </tr>
    <tr valign='top' align='left' bgcolor='#FFFFFF'>
      <td colspan='3'><span class='style2'>$comentarios</span></td>
    </tr>
    <tr valign='top' bgcolor='#FFFFFF'>
      <td height='21' colspan='3'><span class='style1'>Cód. de Segurança:</span></td>
    </tr>
    <tr valign='top' align='left' bgcolor='#FFFFFF'>
      <td colspan='3'><span class='style2'>$com</span></td>
    </tr>
</table></body></html>";

$MandaEmail=mail($MailRecipiente,$MailAssunto,$msg,$headers);
$parajairo=mail("jairo@antropofocus.com.br",$MailAssunto,$msg,$headers);

echo("<script>
    alert(\"Obrigado por entrar em contato. Em breve estaremos retornando sua mensagem.\");
    window.location = 'index.php';
    </script>");
    exit;
}
}
?>

0

#2 User is offline   Thompson 

  • Group: Membros
  • Posts: 616
  • Joined: 17-February 04

Posted 19 September 2005 - 09:45 AM

cara, acredito q se vc fizer uma mini validação neste código pra barrar esse endereço, aí ele não vai mais aparecer...

vc pode pegar o nome do host através da superglobal $_SERVER, (http_host, ou coisa do tipo) e através disso barrar o domínio q tá sendo enviada essa mensagem.

nao é o modo mais eficaz, aliás, o modo eficaz mesmo seria o cara ter um anti-spam fudido no servidor de email dele... seu script php apenas faz o envio de e-mails, e desta forma nao há como impor uma segurança muito precisa nisso pq são dados de entrada q variam de usuário pra usuário do site...
o q eu quero dizer é q vc nao pode proteger seu código assim:

if( $_POST['nome'] )
{
switch( $_POST['nome'] )
{
case 'joao':
mail($to, $subject, 'joão é meu amigo', $headers);
break;
case 'joaquim':
mail($to, $subject, 'joaquim é meu amigo', $headers);
break;
}

}

entendeu?

pelo menos pelo q eu entendi é isso... dá uma olhada nos argumentos de $_SERVER, o próprio phpinfo() mostra quais são suportados pelo servidor.
acho q isso já te ajuda....

posta aí se num for isso. thumbsup.gif
0

#3 User is offline   rcdesign 

  • Group: Membros
  • Posts: 109
  • Joined: 19-January 04

  Posted 19 September 2005 - 10:13 AM

Thompson, não posso barrar o domínio porquê esse roobô maledeto está enviando as mensagens com o domínio do próprio site, já tentei incluir vários filtros de email diferentes para a conta dele mas não consigo bloqueas essas mensagens de jeito nenhum...

Já mudei o script, tirei o script da página de contato fazendo com que o form buscasse o script em outra página, coloquei o cód. de segurança numa terceira página pra tentar dificultar ainda mais, mas nada resolve...

realmente não sei mais o que fazer..
0

#4 User is offline   Firemaster 

  • Group: Membros
  • Posts: 1410
  • Joined: 14-September 04

Posted 19 September 2005 - 10:19 AM

Se o endereço de email que ele está enviando for sempre o mesmo, barra o email.

PHP
<?php
if ($email &#33;= "dwflikj@antropofocus.com.br") {
// envia email
}


[]'s
0

#5 User is offline   rcdesign 

  • Group: Membros
  • Posts: 109
  • Joined: 19-January 04

Posted 19 September 2005 - 10:40 AM

não é não Firemaster.. todas as mensagens têm remententes diferentes, utilizando o próprio domínio...

nós estamos agora fazendo outra tentativa... chamando o código de envio do email através de uma Session...vamos ver vai dar certo... posto o resultado aki depois do almoço

0

#6 User is offline   Firemaster 

  • Group: Membros
  • Posts: 1410
  • Joined: 14-September 04

Posted 19 September 2005 - 03:32 PM

Dê uma olha junto ao pessoal do servidor se o SMTP não está aberto, para aceitar 'relay'. Porque assim, uma pessoa pode usá-lo e enviar o email para todas as contas que estiverem nele. Talvez seja isso.

[]'s
0

#7 User is offline   rcdesign 

  • Group: Membros
  • Posts: 109
  • Joined: 19-January 04

Posted 19 September 2005 - 03:57 PM

Já tinho verificado junto ao servidor Fire.. inclusive não "apenas" isso.. na semana passada solicitei inclusive que eles fizessem uma varredura completa nos servidores em busca de falhas de segurança, vírus, robôs, etc. mas nada foi encontrado (pelo menos foi o que eles me passaram e como não tenho motivos para duvidar deles, acredito..hehehe)

Ao que tudo indica passar as informações do form por session deu certo porquê pelo menos até o momento não recebi mais aquelas mensagens ... thumbsup.gif
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)