Formulário para envio de emails com proteção contra injeção de dados.
Olá boa tarde, novamente aqui pedindo ajuda de vocês,
agradeço o que já aprendi com todos.
vamos lá tenho um formulário de cadastro para uma empresa, segue abaixo:
<form action="teste_php.php" name="Pedido" method="post" accept-charset="UTF-8">
<div id="LadoA">
<font style="font:Tahoma; font-size:20px; color:#000000; font-weight:700; text-align:center;">Pedido de Assinatura</font><br />
<div id="INPUT_Mensal"><label><input type="radio" required name="Planos" value="Mensal"class="Input_PMensal">Mensal ........... R$ 70,00</label></div>
<div id="INPUT_Trimestral"><label><input type="radio" name="Planos" value="Trimestral" class="Input_PMensal">Trimestral ...... R$ 180,00</label></div>
<div id="INPUT_Semestral"><label><input type="radio" required name="Planos" value="Semestral" class="Input_PMensal">Semestral ....... R$ 324,00</label></div>
<div id="INPUT_Anual"><label><input type="radio" required name="Planos" value="Anual" class="Input_PMensal">Anual ............. R$ 580,00</label></div>
<div id="INPUT_Nome">
<label class="LabelNome">Nome:</label>
<input required name="Nome" id="Input_Nome" type="text" size="14" maxlength="40" title="Digite seu nome" />
</div>
<div id="INPUT_CnpjCpf">
<label class="LabelCnpjCpf">CNPJ / CPF (MF):</label>
<input required name="CNPJ" id="Input_CnpjCpf" type="text" size="14" maxlength="14" OnKeyPress="formatar('###.###.###-##', this)" title="Informe seu CPF ou CNPJ" />
</div>
<div id="INPUT_InscEstadual">
<label class="LabelInscEstadual">Insc. Estadual:</label>
<input required name="InscEstadual" id="Input_InscEstadual" type="text" size="14" maxlength="40" title="Numero da Insc. Estadual" />
</div>
<div id="INPUT_Atividade">
<label class="LabelAtividade">Ramo de Atividade:</label>
<textarea name="Atividade" cols="10" rows="5" required id="Input_Atividade" title="Ramo de Atividade"></textarea>
</div>
<div id="INPUT_Endereco">
<label class="LabelEndereco">Endereço:</label>
<input required name="Endereco" id="Input_Endereco" type="text" size="14" maxlength="40" title="Digite o Endereço" />
</div>
<div id="INPUT_Cep">
<label class="LabelCep">Cep:</label>
<input required name="Cep" id="Input_Cep" type="text" size="14" maxlength="20" OnKeyPress="formatar('#####-###', this)" title="Digite seu CEP" />
<label class="LabelCidadeUF">Cidade / UF:</label>
<input required name="CidadeUF" id="Input_CidadeUF" type="text" size="14" maxlength="40" title="Digite sua Cidade" />
</div>
<div id="INPUT_PessoaC">
<label class="LabelPessoaC">Contato:</label>
<input required name="Contato" id="Input_PessoaC" type="text" size="14" maxlength="40" title="Pessoa para Contato" />
</div>
<div id="INPUT_Telefone">
<label class="LabelTelefone">Telefone Fixo:</label>
<input required name="Telefone" id="Input_Telefone" type="text" size="14" maxlength="40" OnKeyPress="formatar('##-####.####', this)" title="Informe o numero com o DDD ex. 8532727055"/>
</div>
<div id="INPUT_Celular">
<label class="LabelCelular">Celular:</label>
<input required name="Celular" id="Input_Celular" type="text" size="14" maxlength="40" OnKeyPress="formatar('##-####.####', this)" title="Informe o numero com o DDD ex. 8588880000" />
</div>
<div id="INPUT_Fax">
<label class="LabelFax">Fax:</label>
<input required name="Fax" id="Input_Fax" type="text" size="14" maxlength="40" title="Digite seu nome" />
</div>
<div id="INPUT_Email">
<label class="LabelEmail">E-mail:</label>
<input required name="Email" id="Input_Email" onBlur="ValidaEmail();" type="text" size="14" maxlength="40" title="Digite seu nome" />
</div>
<div id="INPUT_ENVIAR"><input type="submit" class="button buzz-out" value="ENVIAR" /></div>
</div>
</div>
</form>
esse acima é o form, abaixo o php
<?php
if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) { // foi feito um post no formulario
$nome_site = 'Pedido de Assinatura - Importante'; // Nome do formulario
$email_site = 'aderson@adersondesigner.com'; // Coloque aqui o email que vai receber o formulario
$email_user = $_POST['Email']; // campo e-mail retirado do formulario
$nome_user = $_POST['Nome']; // campo nome
$assunto = "Pedido de Assinatura - Importante";
if ( strpos( $_SERVER['HTTP_REFERER'], $_SERVER['SERVER_NAME'] ) > 0 ) { // verifica se o servidor que ta o formulario é o mesmo que o chamou, se for um ataque de injeção de dados este valor será diferente
ini_set( 'sendmail_from', $email_site );
$msg = "Formulario Preenchido em ".date("d/m/Y")." as ".date("H:i:s").",\n seguem abaixo os dados:\n";
while( list( $campo, $valor ) = each( $HTTP_POST_VARS ) ) {
$msg .= "\n ".ucwords($campo).": ".$valor." \n ";
}
$cabecalho = "Return-Path: ".$nome_user." <".$email_user.">rn";
$cabecalho .= "From: ".$email_user." <".$nome_user.">rn";
$cabecalho .= "X-Priority: 3rn";
$cabecalho .= "X-Mailer: Formmail [version 1.0]rn";
$cabecalho .= "MIME-Version: 1.0rn";
$cabecalho .= "Content-Transfer-Encoding: 8bitrn";
$cabecalho .= 'Content-Type: text/html; meta charset="utf-8"';
mail( $email_site, 'Pedido de Assinatura - Importante', $msg, $cabecalho );
header("Location: enviado.php" );
} else {
die( 'Detectada tentativa de injeção de dados, seu ip foi logado e tomaremos as providencias legais' );
}
}
?>
O Problema é que quando chega na minha caixa de entrada não aparece o e-mail da pessoa que enviou,
fico com o nome de Nobody, como mostra a imagen em anexo.
/applications/core/interface/imageproxy/imageproxy.php?img=http://adersondesigner.com/v03/sicfor/formmail.jpg&key=4ab5497edf3b2f53cf28d20d0b8bc49367ebf9bc6c1210df12b9588a0e6aa915" alt="formmail.jpg" />
como faço para aparecer o endereço de e-mail da pessoa que preencher o form ?
o/
Discussão (3)
Carregando comentários...