Bonjour,
j'ai un site internet avec un formulaire qui est spammé constamment.
au début j'avais mis un captcha et sa fonctionnait plutôt bien, plus de spam, mais depuis un certain temps le formulaire est à nouveau spammé.
j'ai donc supprimé le captcha et remplacé par un system de question du genre combien fait 4*3.
Même avec ce system toujours des spams alors j'ai en plus ajouté un champs caché qui si il est rempli annule l’envoi du formulaire....
PROBLÈME Toujours spammé !!!!
Quel faire ?
voici mon formulaire :
<form action="confvallivre.php" method="post" enctype="multipart/form-data">
<div align="right">Votre adresse Ip</div>
<?php
$IPClient = $_SERVER[REMOTE_ADDR] ;
print ("$IPClient") ;
?>
<div align="right">* Nom</div>
<input class="text" type="text" name="nom" />
<div align="right">Mail</div>
<input class="text" type="text" name="email" />
<div align="right"> * Votre message </div>
<textarea onblur="calculeLongueur();" onfocus="calculeLongueur();" onkeydown="calculeLongueur();" onkeyup="calculeLongueur();" name="message" id="message" maxlength="500"></textarea>
<input type="hidden" id="mailrob" name="mailrob" value="" />
<em><strong> Combien font :
<?php
$chiffre1 = rand(0,5); echo $chiffre1. ' + ' ;
$chiffre2 = rand(0,5); echo $chiffre2. ' ?';
?></em>
<input name="chiffre1" type="hidden" id="chiffre1" value="<?php echo $chiffre1; ?>" />
<input name="chiffre2" type="hidden" id="chiffre2" value="<?php echo $chiffre2; ?>" />
<input name="resultcalc" type="texte" id="resultcalc" value="" />
<input name="submit2" type="submit" class="bouton" value="Valider" />
<div align="right">Les champs marqués d'une étoile (*) sont obligatoires </div>
</form>
et la partie traitement :
<?PHP
$ip = $_SERVER[REMOTE_ADDR] ;
$nom = $_POST['nom'];
$email = $_POST['email'];
$message = $_POST['message'];
$mailrob = $_POST['mailrob'];
// antispam calcul
$chiffre1 = $_POST['chiffre1'];
$chiffre2 = $_POST['chiffre2'];
$resultcalc = $_POST['resultcalc'];
$verifresultcalc = $chiffre1 + $chiffre2 ;
if ($resultcalc != $verifresultcalc )
{
echo 'erreur antispam ! Merci de controler votre formulaire.';
}
else {
if ( $nom == "" ) {
echo "<div align='center'><img src=\"../images/attention.gif\" alt=\"Attention\" /><br/>";
echo "Veuillez indiquer votre nom.<br/><a href=\"javascript:history.back()\">Retour</a></div>";
$erreur = true;
}
if ( $message == "" ) {
echo "<div align='center'><img src=\"../images/attention.gif\" alt=\"Attention\" /><br/>";
echo "Veuillez indiquer un message pour le livre.<br/><a href=\"javascript:history.back()\">Retour</a></div>";
$erreur = true;
}
if ( $mailrob != "" ) {
echo "<div align='center'><img src=\"../images/attention.gif\" alt=\"Attention\" /><br/>";
echo "Erreur !!!!!! <br/><a href=\"javascript:history.back()\">Retour</a></div>";
$erreur = true;
}
/* Envoi du mail */
if ( !$erreur ) {
$msg .= "Nom :\t$nom\n";
$msg .= "Message :\t$message\n";
$msg .= "email :\t$email\n";
$msg .= "ip :\t$ip\n";
mail('[email protected]', 'Nouveau message ', $msg , 'From: [email protected]');
echo 'Merci, votre message nous a été transmit';
}
}
?>
<?php echo '<a href="javascript:history.back();">Retour</a>'; ?>
Bonjour,
j'ai un site internet avec un formulaire qui est spammé constamment.
au début j'avais mis un captcha et sa fonctionnait plutôt bien, plus de spam, mais depuis un certain temps le formulaire est à nouveau spammé.
j'ai donc supprimé le captcha et remplacé par un system de question du genre combien fait 4*3.
Même avec ce system toujours des spams alors j'ai en plus ajouté un champs caché qui si il est rempli annule l’envoi du formulaire....
PROBLÈME Toujours spammé !!!!
Quel faire ?
voici mon formulaire :
[php]
<form action="confvallivre.php" method="post" enctype="multipart/form-data">
<div align="right">Votre adresse Ip</div>
<?php
$IPClient = $_SERVER[REMOTE_ADDR] ;
print ("$IPClient") ;
?>
<div align="right">* Nom</div>
<input class="text" type="text" name="nom" />
<div align="right">Mail</div>
<input class="text" type="text" name="email" />
<div align="right"> * Votre message </div>
<textarea onblur="calculeLongueur();" onfocus="calculeLongueur();" onkeydown="calculeLongueur();" onkeyup="calculeLongueur();" name="message" id="message" maxlength="500"></textarea>
<input type="hidden" id="mailrob" name="mailrob" value="" />
<em><strong> Combien font :
<?php
$chiffre1 = rand(0,5); echo $chiffre1. ' + ' ;
$chiffre2 = rand(0,5); echo $chiffre2. ' ?';
?></em>
<input name="chiffre1" type="hidden" id="chiffre1" value="<?php echo $chiffre1; ?>" />
<input name="chiffre2" type="hidden" id="chiffre2" value="<?php echo $chiffre2; ?>" />
<input name="resultcalc" type="texte" id="resultcalc" value="" />
<input name="submit2" type="submit" class="bouton" value="Valider" />
<div align="right">Les champs marqués d'une étoile (*) sont obligatoires </div>
</form>[/php]
et la partie traitement :
[php]<?PHP
$ip = $_SERVER[REMOTE_ADDR] ;
$nom = $_POST['nom'];
$email = $_POST['email'];
$message = $_POST['message'];
$mailrob = $_POST['mailrob'];
// antispam calcul
$chiffre1 = $_POST['chiffre1'];
$chiffre2 = $_POST['chiffre2'];
$resultcalc = $_POST['resultcalc'];
$verifresultcalc = $chiffre1 + $chiffre2 ;
if ($resultcalc != $verifresultcalc )
{
echo 'erreur antispam ! Merci de controler votre formulaire.';
}
else {
if ( $nom == "" ) {
echo "<div align='center'><img src=\"../images/attention.gif\" alt=\"Attention\" /><br/>";
echo "Veuillez indiquer votre nom.<br/><a href=\"javascript:history.back()\">Retour</a></div>";
$erreur = true;
}
if ( $message == "" ) {
echo "<div align='center'><img src=\"../images/attention.gif\" alt=\"Attention\" /><br/>";
echo "Veuillez indiquer un message pour le livre.<br/><a href=\"javascript:history.back()\">Retour</a></div>";
$erreur = true;
}
if ( $mailrob != "" ) {
echo "<div align='center'><img src=\"../images/attention.gif\" alt=\"Attention\" /><br/>";
echo "Erreur !!!!!! <br/><a href=\"javascript:history.back()\">Retour</a></div>";
$erreur = true;
}
/* Envoi du mail */
if ( !$erreur ) {
$msg .= "Nom :\t$nom\n";
$msg .= "Message :\t$message\n";
$msg .= "email :\t$email\n";
$msg .= "ip :\t$ip\n";
mail('
[email protected]', 'Nouveau message ', $msg , 'From:
[email protected]');
echo 'Merci, votre message nous a été transmit';
}
}
?>
<?php echo '<a href="javascript:history.back();">Retour</a>'; ?>
[/php]