PHP ve captcha'yı kullanarak önemsiz posta azaltmak için en iyi uygulamalar nelerdir?

2 Cevap php

Sitemin e-posta göndermek için aşağıdaki kodu vardır.

if($_SESSION["captcha"]==$_POST["captcha"])
{

$msg="Require Services :\t$_POST[service]\n";
$msg="Name :\t$_POST[name]\n";
$msg.="Company Name :\t$_POST[co_name]\n";
$msg.="Address :\t$_POST[address]\n";
$msg.="Mobile :\t$_POST[mobile]\n";
$msg.="Phone :\t$_POST[phone]\n";
$msg.="E-mail :\t$_POST[email]\n";
$msg.="Message :\t$_POST[message]\n";

$subject=$_POST[subject];
$to="info@sriramtrade.com,rajm_123@rediffmail.com";
$headers="From: $_POST[email] < $_POST[email]> \n";
$headers .= "Reply-To: $_POST[email]\n\n";

mail($to,$subject,$msg,$headers);}

?>

Hatta önemsiz posta azaltmak için captcha'yı kullandıktan sonra hala önemsiz bir sürü olsun.

2 Cevap

Yeni bir giriş alanı eklemek, CSS kullanarak bunu gizlemek, "boş bırakın", ve bu alan böyle bir şey doldurulur ise mesajı görmezden etiket:

<style type='text/css'>
#other_email_label, #other_email {
    display: none;
}
</style>
...
<form action='mail'>
<label id='other_email_label' for='other_email'>Please leave blank:</label>
<input type='text' name='other_email' id='other_email'>
...
</form>

Böylece (onlar CSS onlar etiketi görmek ve boş bırakacağım durumda, kapalı yoksa) bir insan bu alanı görmezsiniz ama bir spam robotu nüfuslu bu alan arasında olmalıdır ile herhangi yazılan içeri dolduracaktır bir spam robotu.

Ben bu sorunun nedeni olup olmadığından emin değilim, ama kullanıcı bir kez e-posta başına captcha'yı tip vardır ki o dosyada $_SESSION["captcha"] unset gerekir. Yolu artık, onlar formu gönderdikten sonra yenileme vurdu ve çok hızlı bir şekilde istediğimiz gibi birçok e-posta gönderebilir.