Bloquer un spam de formulaire sans captcha?
Fermé
bigpot
Messages postés
26
Date d'inscription
vendredi 16 juillet 2010
Statut
Membre
Dernière intervention
7 octobre 2010
-
31 août 2010 à 15:41
avion-f16 Messages postés 19247 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 4 juin 2024 - 31 août 2010 à 17:59
avion-f16 Messages postés 19247 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 4 juin 2024 - 31 août 2010 à 17:59
A voir également:
- Bloquer un spam de formulaire sans captcha?
- Bloquer pub youtube - Guide
- Bloquer sms sans numéro - Forum Téléphones & tablettes Android
- Formulaire de réclamation facebook - Guide
- Récupérer compte hotmail sans formulaire ✓ - Forum Hotmail / Outlook.com
- Captcha invalide - Forum Mozilla Firefox
4 réponses
Apatik
Messages postés
5304
Date d'inscription
mercredi 28 janvier 2009
Statut
Contributeur
Dernière intervention
29 mai 2016
782
31 août 2010 à 15:45
31 août 2010 à 15:45
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..
bigpot
Messages postés
26
Date d'inscription
vendredi 16 juillet 2010
Statut
Membre
Dernière intervention
7 octobre 2010
31 août 2010 à 17:06
31 août 2010 à 17:06
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
dsy73
Messages postés
9252
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 476
31 août 2010 à 17:14
31 août 2010 à 17:14
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.
avion-f16
Messages postés
19247
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
4 juin 2024
4 501
31 août 2010 à 17:29
31 août 2010 à 17:29
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.
dsy73
Messages postés
9252
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
23 octobre 2020
2 476
31 août 2010 à 17:33
31 août 2010 à 17:33
Peux-tu stp expliquer le but du script ? Vérifier que la session est la même ? Si l'utilisateur est entrée directement sur la page du formulaire, cela fonctionne ?
avion-f16
Messages postés
19247
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
4 juin 2024
4 501
31 août 2010 à 17:59
31 août 2010 à 17:59
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.