Un des plus gros fléau d'internet actuellement est le spam. Qui n'a pas reçu dans sa boite aux lettre email des courriers publicitaires non silicités ?
Les filtres anti-spam, même si ils sont efficaces, ne filtrent pas tous ces spams.
Si vous etes webmaster d'un site internet, vous avez sur celui ci une adresse email de contact. Il n'en faut pas plus pour que des robots récupèrent cette adresse et vous bombardent de spam.
Il existe pourtant des méthodes afin d'éviter cela.
- Une premiere solution consiste à demander au visiteur de recomposer l'adresse e-mail.
Par exemple, si votre dresse email est de la forme "nom.prenom@domaine.com" vous indiquerez sur votre page "nom (POINT) prenom ( AT) domaine.com". Cette méthode, même si elle fonctionne, n'est pas très élégante pour vos visiteurs.
- Une autre solution, plus élégante, est d'utiliser un formulaire et un bout de code php. L'adresse email utilisée n'est pas visible puisqu'elle est dans le code php.
<html>
<body>
<form method="post">
<input type="text" name="titre">
<input type="text" name="message">
<input type="submit" name="envoi" value="1">
</form>
<?php
if(isset($_POST['envoi']))
{
mail("nom.prenom@domaine.com", $_POST['titre'], $_POST['message']);
}
?>
</body>
</html>
- Autre solution, cette fois sans formulaire, qui consiste à encoder l'adresse email. Une fonction transforme l'adresse e-mail en signes hexadécimaux compréhensibles par les navigateurs mais pas par les robots. Voici la fonction de cryptage :
<?php
function hex_encode ($str)
{
$encoded = bin2hex($str);
$encoded = chunk_split($encoded, 2, '%');
$encoded = '%'.substr($encoded, 0, strlen($encoded) - 1);
return $encoded;
}
?>
et pour afficher votre lien email :
<a href="mailto:<?php echo hex_encode("votre-email@domaine.tld"); ?>">Contact</a>
Voila, avec ces quelques solutions simples, vous pouvez reduire de façon considérable le nombre de spam reçu sur vos mails de contact.