Como criar formulários seguros com PHP Imprimir E-mail

 

Na hora de desenvolver formulários em PHP é necessário tomar alguns cuidados para evitar que terceiros utilize seu script para envio de SPAM e até mesmo mensagens contendo fraudes. Aqui segue um exemplo de formulário.


Exemplo de formulario.htm

<form method="POST" action="enviar.php">
Formulário
Email:<br><input type="text" name="email"><br><br>
Assunto:<br><input type="text" name="assunto"><br><br>
Mensagem :
<textarea name="mensagem" rows="10" cols="40" lines="30"></textarea><br><br>
<input type="submit" name="enviar" value="Enviar">
</form>


Exemplo de script "enviar.php".

<?php
//Verifica se a pessoa preencheu o campo mensagem e e-mail. Se não preencheu o formulário é recarregado
if (empty($_POST[’mensagem’])|| empty($_POST[’email_de’])){
echo ’ERRO: voce deve preencher o campo email e mensagem.’;
}
else
{
//Verifica se o email digitado pela pessoa é realmente um email.
$emailPattern = ’/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i’;
if (!preg_match($emailPattern, $_POST[’email’])){
echo ’ERRO: o email não foi digitado corretamente.’;
}
else
{
//Digite aqui seu endereço de email para onde os dados do formulário será enviado.
$to=" Este endereço de e-mail está protegido contra spam bots, pelo que o Javascript terá de estar activado para poder visualizar o endereço de email ";
$from=$_POST[’email’];
if (mail($to,$_POST[’assunto’],$_POST[’mensagem’],"From: $from\n")){
echo "Seu email foi enviado com sucesso.";
//remove as variáveis
unset ($_POST[’email’]);
unset ($_POST[’assunto’]);
unset ($_POST[’mensagem’]);
}
else
{
echo "ERRO: Email não foi enviado";
}
}
}
?>


Observe que no formulário acima utilizamos o $_POST para pegar os dados do formulário. Verificamos se o email digitado pelo usuário tem um formato de e-mail real seguindo um padrão. Especificamos dentro do script para qual e-mail o conteúdo do formulário será enviado pois está é a forma correta. Nunca se deve especificar este parametro no formulário, sempre deve ser especificado dentro do script evitando assim o uso indevido do seu enviar.php por terceiros.


Este formulário é apenas um exemplo simples que deve ser utilizado por pessoas que tenham algum conhecimento em linguagem PHP. Consulte a pessoa que está desenvolvendo seu site. A NEOSITE oferece uma solução gratuita para envio de formulários chamado formmail.cgi. Você pode solicitar a instalação deste sistema.

 
< Artigo anterior   Artigo seguinte >

web stats