Ir para conteúdo

POWERED BY:

Arquivado

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

Fabio Jp

Formulário de contato retornando caracteres estranhos

Recommended Posts

Bom dia amigos,

 

Já revirei essa internet mas não encotrei nada parecido com o problema que vou apresentar, vejam se podem me ajudar.

 

Eu uso um formulário padrão para todos os sites, faz muito tempo, e nunca tinha dado problema nenhum, mas agora no começo de 2011 ele começou a retornar uns caracteres muito estranhos, vejam:

 

Formulario de Contato

 

Dia: 14-01-2011

Hora: 03:50

IP do remetente: 82.0.212.161

 

Nome: GLTSaXoigHjOaFyRK

E-mail: iempab@qcfsxn.com

Telefone: kTFRSSpkhRS

Celular: NkkbZcVPifDJ

Comentário: zTWDsB href=\"http://rqjebtaunpwy.com/\">rqjebt

aunpwy,

ipivnasbvh

mg,

[link=http://ylrxisywqfzb.com/]ylrxisywq

fzb[/link], http://rakxmvqbrkzx.com/

 

 

 

 

Página contato.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br">
<head>
<title>Formulário de Contato</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

<link href="http://www.imaggine.com.br/formulario_email/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
<script src="http://www.imaggine.com.br/formulario_email/SpryValidationTextField.js" type="text/javascript"></script>

</head>

<body>
<form action="contato-n-ok.php" method="post" name="formulario-contato" id="formulario-contato">
   <span id="spry_nome">
       <label><font>*</font>Nome:
           <input name="nome_contato" type="text" id="nome_contato" maxlength="200" />
           <span class="textfieldRequiredMsg">Este campo é obrigatório.</span>
           <span class="textfieldMinCharsMsg">Nome muito pequeno.</span>
           <span class="textfieldMaxCharsMsg">Você excedeu o número máximo de caracteres.</span>
       </label>
   </span>

   <span id="spry_email">
       <label><font>*</font>E-mail:
           <input name="email" type="text" id="email" maxlength="200" />
           <span class="textfieldRequiredMsg">Este campo é obrigatório.</span>
           <span class="textfieldInvalidFormatMsg">E-mail Inválido.</span>
       </label>
   </span>

   <span id="spry_telefone">
       <label>Telefone:
           <input name="telefone" type="text" id="telefone" maxlength="12" />
           <span class="textfieldInvalidFormatMsg">Formato Inválido.</span>
       </label>
   </span>

   <span id="spry_celular">
   <label>Celular:
           <input name="celular" type="text" id="celular" maxlength="12" />
           <span class="textfieldInvalidFormatMsg">Formato Inválido.</span>
       </label>
 </span>

   <p class="texto-duas-linhas">Mensagem ou Comentários:</p>
   <label><textarea name="comentario" cols="40" rows="5"></textarea></label>

   <p id="campo-obrigatorio">
       <input class="enviar-limpar" name="enviar" type="submit" value="Enviar" />
       <input class="enviar-limpar" name="limpar" type="reset" value="Limpar" /><span>* campo obrigatório</span>
   </p>
</form>
<!-- INFORMAÇOES DO SPRY -->      
<script type="text/javascript">
<!--
var spry_nome = new Spry.Widget.ValidationTextField("spry_nome", "none", {minChars:3, maxChars:200, validateOn:["blur"]});
var spry_email = new Spry.Widget.ValidationTextField("spry_email", "email", {validateOn:["blur"]});
var spry_telefone = new Spry.Widget.ValidationTextField("spry_telefone", "custom", {validateOn:["blur"], useCharacterMasking:true, pattern:"00-0000.0000", isRequired:false});
var spry_celular = new Spry.Widget.ValidationTextField("spry_celular", "custom", {validateOn:["blur"], useCharacterMasking:true, pattern:"00-0000.0000", isRequired:false});
//-->
</script>
</body>
</html>

 

 

 

Página contato-ok.php

<?php
// Coletando dados do servidor
$ip = gethostbyname($_SERVER['REMOTE_ADDR']);  
$dia = date("d-m-Y");
$hora = date("H:i");

// Coletando os dados enviados pelo formulario
$nome_contato = $_POST["nome_contato"];
$email = $_POST["email"];
$telefone = $_POST["telefone"];
$celular = $_POST["celular"];
$comentario = $_POST["comentario"];

//Destinatário, Assunto e Nome do site
$oculto = "oculto@email.com.br";
$para = "para@email.com.br";
$assunto = "Formulario de Contato"; // Sem acentuação
$nome_site = "Nome do Site"; // Sem acentuação

// Conteúdo do E-mail
$mensagem_final = "<b>$assunto</b>";
$mensagem_final .= "<br /><br /><br />
				<i>Dia</i>: $dia<br />
				<i>Hora</i>: $hora<br /> 
				<i>IP do remetente</i>: $ip<br />
				<br />
				<b>Nome:</b> $nome_contato<br />
				<b>E-mail:</b> $email<br />"; 

				//escondendo campos não preenchidos
				if ($telefone != "") $mensagem_final .= "<b>Telefone:</b> $telefone<br />"; // telefone
				if ($celular != "") $mensagem_final .= "<b>Celular:</b> $celular<br />"; // celular
				if ($comentario != "") $mensagem_final .= "<b>Comentário:</b> $comentario<br />"; // comentário

// Configurações de envio
$topo  = "MIME-Version: 1.0\n";
$topo .= "Content-type: text/html; charset=utf-8\n"; // Define Charset
$topo .= "From: $nome_site <contato@servidor.com.br>\n";  // Remetente -  Tem que ser um e-mail válido
$topo .= "Reply-to: $email\n"; // Responde o e-mail para o remetente
$topo .= "Bcc: $oculto\n"; //Cópia Oculta

// Função para disparar E-mail
mail($para,$assunto,$mensagem_final,$topo);

// Retorna para a página de contato
header("refresh:6;url=contato-ok.php"); 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br">
<head>
<title>Formulário de Contato</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

</head>

<body>
<h1 class="titulo titulo-contato">Contato</h1>
<b><? echo "$nome_contato"; ?></b>,<br />
<br />
Seu contato foi enviado com sucesso!<br />
<br />
Em breve entraremos em contato.<br />
<br />
<br />
Obrigado!<br />
<br />
<br />
Aguarde, você será redirecionado automaticamente. <img src="http://www.imaggine.com.br/formulario_email/redirecionamento.gif" width="16" height="16" alt="">
</body>
</html>

 

 

 

Se alguem já passou por isso e pode me ajudar eu ficaria muito agradecido.

 

 

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

te enviaram um spam, só isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Spam através do formulário de contato do site ??

É possível isso ??

Os dados que chegam não existem, como por exemplo essas url que eles enviam, elas não levam a lugar nenhum.

 

Esse site que eu postei trabalha com Show Room de produtos.

O site trabalha com session. Os produtos tem um nome, que ao clicar em "Mais Informações" é passado por GET e armazenado.

Assim a pessoa vai clicando nos produtos e adicionando para saber iformações do mesmo.

Quando a pessoa envia o formulário, ele pega os nomes armazenados e envia junto com o restante do formulário.

 

Estou citando isso pois não sei se tem alguma influência, pois de vez em quando os formulários chegam do jeito que eu descrevi no post mas também chegam com o nome de um produto (ex: - Cesto Expositor Médio - Ehh o nome também vem zuado). Para isso acontecer a pessoa teria que armazenar algum produto na session.

 

Ahh e a página de contato também possuí um checkbox que armazena o e-mail da pessoa no cadastro de newsletter se assim desejado.

 

Realmente foi indiferente o que ocorreu, pois se realmente for um spam, é feito por algum script ? Como funciona isso ?

 

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso é spam sim, são robos que ficam enviando através de vários sites, por isso vários sites possuem captcha em formulário de contato por exemplo

Compartilhar este post


Link para o post
Compartilhar em outros sites

deve ser o charset olha sua tag meta e ve se ta assim

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

tente colocar isso entre <head> e </head> das páginas se não ser tente "charset=utf-8"

 

se nao resolver usa urlencode($string) e o urldecode($string)

Compartilhar este post


Link para o post
Compartilhar em outros sites

C. Medeiros vou incluir captcha então para ver se para de chegar esses spam.

 

CrY Ícone o site é trabalhado todo em utf-8, e no envio do e-mail também.

De acordo com meus testes o único lugar onde não tem solução para acentuação é o campo Assunto, tanto com iso quanto com utf.

As mensagens estão chegando todas com acentuação correta, o problema é esse spam que fica contaminando a caixa de entrada do meu cliente, que está reclamando.

 

Tópico parcialmente resolvido.

Vou aplicar a verificação captcha e se o problema persistir eu retorno aqui :D

 

 

Abraços,

Obrigado.

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.