Formulaire, Email : utilisez le captcha de Google

Comment échapper au spam ? Dès qu'un site a des formulaires ou affiche un mail, il est impératif de les sécuriser sinon…

Les captchas sont la meilleure solution pour lutter contre le Spam :

Voici une solution proposée par Google pour mettre en place un captcha :  reCAPTCHA

Sur un formulaire

    Création d'un compte gmail
 

Connection sur : https://www.google.com/recaptcha, puis sur "MY ACCOUNT" pour ajouter votre nom de domaine :

   

Google va vous fournir 2 clés :

Public Key : xxxxxxxxxxxxxxxx
Private Key : yyyyyyyyyyyyyyyy

  Telecharger la librairie PHP reCAPTCHA et mettre en place le code :
 
<script type="text/javascript">
 var RecaptchaOptions = {
    theme : 'clean'
 };
 </script>
<form action="#" class="txt" method="post">
<?php require_once('recaptchalib.php');<br />
// Get a key from https://www.google.com/recaptcha/admin/create<br />
$publickey = "xxxxxxxxxxxxxxxx";<br />
$privatekey = "yyyyyyyyyyyyyyyy";<br />
# the response from reCAPTCHA<br />
$resp = null;<br />
# the error code from reCAPTCHA, if any<br />
$error = null;<br />
# was there a reCAPTCHA response?<br />
if ($_POST["recaptcha_response_field"]) {<br />
    $resp = recaptcha_check_answer ($privatekey,<br />
                                    $_SERVER["REMOTE_ADDR"],<br />
                                    $_POST["recaptcha_challenge_field"],<br />
                                    $_POST["recaptcha_response_field"]);</p>
<p>if ($resp->is_valid) {<br />
    #placez ici votre traitement (mail, traiement, etc...)<br />
    echo "<span class=\"green\">Formulaire validé</span>";<br />
} else {<br />
    #placez ici votre messge d'erreur<br />
    echo "<span class=\"red\">Formulaire non validé</span>";<br />
}<br />
}<br />?>
Nom :<input id="Nom" name="Nom" type="text" /> 
Commentaire :<textarea cols="45" id="comment" name="comment" rows="5"></textarea> 
Merci de valider ce formulaire : <?php echo recaptcha_get_html($publickey, $error);?> 
<input type="submit" value="Valider" />
</form>

Ce qui nous donne :

Il existe différents thèmes sur : https://developers.google.com/recaptcha/docs/customization?hl=fr

Autre Tutoriel vidéo proposé par : http://www.grafikart.fr


Sur un Email

    Création d'un compte gmail
 

Connection sur : http://www.google.com/recaptcha/mailhide/apikey

Google va vous fournir 2 clés :

Public Key : xxxxxxxxxxxxxxxx
Private Key : yyyyyyyyyyyyyyyy

  Telecharger la librairie PHP reCAPTCHA et mettre en place le code :
 
  <? require_once ("recaptchalib.php");
// get a key at http://www.google.com/recaptcha/mailhide/apikey
$mailhide_pubkey = 'xxxxxxxxxxxxxxxx';
$mailhide_privkey = 'yyyyyyyyyyyyyyyy";?>
  2 solutions : 
Directement : 
<? echo recaptcha_mailhide_html ($mailhide_pubkey, 
                                 $mailhide_privkey, 
                                 "contact@newsphil-blog.com"); ?>
Ou via un lien ou votre propre popup : 
<a href="<? echo recaptcha_mailhide_url ($mailhide_pubkey, 
                                         $mailhide_privkey, 
                                         "contact@newsphil-blog.com"); ?>" 
    target="_blank">Contact</a><br>

Ce qui nous donne :

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>