Sécurisé vos formulaires contre le spam
Article publié le 13 décembre 2006 à par Monwebmaster.
Promouvoir cette article
Cela fait bien longtemps que le spam existe mais ce n’est pas pour autant que celui-ci diminue. Afin d’empêcher un hacker de spammer à par de votre site, il faudra vérifier que le formulaire est bien été posté de puis votre site et non d’un autre site ou d’un robot.
Tout d’abord comment un hacker peut il spammer depuis votre formulaire de contact ?
Celui-ci utilise des retours chariot r et des sauts de lignes n pour inséré de nouvelles entêtes, lors de l’envoie de l’email.
Nous verrons d’abord comment vérifier la provenant du visiteur avant d’avoir posté le formulaire.
< ?php
// http://www.monwebmaster.com
if ($_SERVER["HTTP_REFERER"] != "http ://www.votredomain.tld/form.php"){
exit("Le formulaire n’a pas été posté depuis votre site");
}
?>
Simple mais éfficace :D, maintenant protégé votre script contre les retours chariots et sauts de ligne. Nous allons vérifiez tous les champs sauf les zones de texte. Dans l’exemple notre formulaire aura que deux champs ( titre et email du visiteur).
< ?php
// http://www.monwebmaster.com
//on récupère les variables postées
$mw_titre = trim($_POST["mw_titre"]);
$mw_email = trim($_POST["mw_email"]);
//on teste les champs
if((strstr($mw_titre, "n")) || (strstr($mw_titre, "r")) || (strstr($mw_email, "n")) || (strstr($mw_email, "r"))
{
//il y a un retour chariot donc on n’exécute pas le script
exit();
}
?>
Ces deux méthodes vous permettront de limiter le spam à partir de l’un de vos formulaires.
Liens sponsorisés
|