Bloquer un spam de formulaire sans captcha?
bigpot
Messages postés
27
Statut
Membre
-
avion-f16 Messages postés 20368 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 20368 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je voudrai savoir comment bloquer un spam sans passer par un captcha? j'en reçois sur mes commentaires et je voudrai m'en débarrasser.
Merci de votre aide
Je voudrai savoir comment bloquer un spam sans passer par un captcha? j'en reçois sur mes commentaires et je voudrai m'en débarrasser.
Merci de votre aide
A voir également:
- Bloquer un spam de formulaire sans captcha?
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Spam messenger - Guide
- Bloquer pub youtube - Accueil - Streaming
- Formulaire de reclamation instagram - Guide
4 réponses
Des spams..
Toujours la même IP/plage? Bloque la via un .htaccess (gaffe si c'est une plage, tu vas aussi sans doute bloquer des utilisateurs)
Si c'est répété tu peux bloquer l'accès à la page si on la demande plus de x fois par seconde par exemple, toujours via le .htaccess.
Ou encore, via ton code de traitement du formulaire, tu peux automatiquement le supprimer en fonction des mots (en anglais sans doute) qu'il y a dedans..
Toujours la même IP/plage? Bloque la via un .htaccess (gaffe si c'est une plage, tu vas aussi sans doute bloquer des utilisateurs)
Si c'est répété tu peux bloquer l'accès à la page si on la demande plus de x fois par seconde par exemple, toujours via le .htaccess.
Ou encore, via ton code de traitement du formulaire, tu peux automatiquement le supprimer en fonction des mots (en anglais sans doute) qu'il y a dedans..
merci Apatik pour cette réponse.
Peut tu m'expliquer d'avantage la seconde méthode. Je ne capte pas!
merci
Peut tu m'expliquer d'avantage la seconde méthode. Je ne capte pas!
merci
Si ton spam provient de bot, tu peux aussi utiliser un formulaire en AJAX en insérant un temps de latence entre chaque champs du formulaire.
Salut.
Tu peux créer un script PHP qui génère un jeton.
Ce jeton sera affiché (echo) et enregistré dans une variable de session ($_SESSION['contactFormToken']).
Sur ton formulaire, crées un champ
Ensuite, à l'aide d'AJAX, tu pourras récupérer un jeton et le mettre comme valeur pour ce champ.
Lors de la soumission, vérifie si $_POST['contactFormTokenz'] est égal à $_SESSION['contactFormToken'].
Si oui, alors fait les opérations nécessaires et supprime le jeton.
Tu peux créer un script PHP qui génère un jeton.
Ce jeton sera affiché (echo) et enregistré dans une variable de session ($_SESSION['contactFormToken']).
Sur ton formulaire, crées un champ
<input type="hidden" name="contactFormTokenz" />(j'ai volontairement ajouté un "z" à "Token" si jamais l'option register_globals est activée)
Ensuite, à l'aide d'AJAX, tu pourras récupérer un jeton et le mettre comme valeur pour ce champ.
Lors de la soumission, vérifie si $_POST['contactFormTokenz'] est égal à $_SESSION['contactFormToken'].
Si oui, alors fait les opérations nécessaires et supprime le jeton.
Les robots ne comprennent pas le Javascript, la requête AJAX ne sera donc pas envoyée, et donc le script PHP ne sera pas exécuté => aucun jeton ne sera généré ni stocké en session
Avec un utilisateur normal, la requête AJAX sera effectuée. Tu peux la faire au chargement de la page (onload) du formulaire.
Avec un utilisateur normal, la requête AJAX sera effectuée. Tu peux la faire au chargement de la page (onload) du formulaire.