CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

captcha

Pseudo supprimé
Pseudo supprimé 03 juillet 2010 à 13:10:13

Bonjour !

J'ai fait un système de captcha pour mon site mais en fait quand la personne valide son formulaire en ayant recopier le texte, ça envoie le numéro correspondant à l'image du texte + le texte recopié en variables $_POST.

Le problème c'est que si le client fait "page précédente" avec son navigateur, ça lui remet toujours le même captcha (logique) car ça ne régénère pas la page, donc il pourrait quand même spammer de cette façon.

Quelqu'un a-t-il une solution pour éviter ce problème ? merci ! :)

deepblue
deepblue
Niveau 16
03 juillet 2010 à 13:16:51

1- ne met pas le code du captcha en clair dans ta page (car j'te fais un bot qui ira le lire tout seul et ton truc ne servira à rien) : passe par une variable de session pour stocker le numéro
2- quand tu affiches ton captcha (img), met une variable aléatoire dans l'url. Sur mon blog j'ai pas exemple : http://blog.deblan.fr/index.php?module=captcha&id=380&time=1278155764
- l'id ne te sert à rien pour l'explication, mais je l'utilise pour stocker plusieurs valeur de catcha si le mec est sur plusieurs articles en même temps ($_SESSION['captcha][380] = un_nombre)
- time est la valeur courante de timestamp quand j'affiche l'image : pas de soucis de cache et ça résout ton soucis.

Pseudo supprimé
Pseudo supprimé 03 juillet 2010 à 15:32:13

je me suis mal exprimé quand j'ai dit que ça envoie le numéro de l'image du texte, c'est le numéro du .jpg, c'est le pas le texte qui s'affiche, par exemple le numéro 1 correspond au texte "voiture" etc.

en fait j'utilise array_rand($tableau, 1) pour afficher un captcha aléatoire, dont les numéros correspondants sont stockés dans $tableau. :(

deepblue
deepblue
Niveau 16
03 juillet 2010 à 15:44:30

Ca revient au même. Si le mec détermine a quel numéro correspond quelle image, tu es foutu.
Fait toi un script php qui load de manière aléatoire et l'affiche (le fichier php a une entête d'image, comme pour mon captcha). Tu gardes en session l'image pour savoir quel objet est affiché. Sur la page avec le formulaire, tu affiches ta page php via une balise img et basta.

Pseudo supprimé
Pseudo supprimé 03 juillet 2010 à 15:58:00

La page du formulaire est en php, et c'est cette même page qui génère aléatoirement le captcha à afficher.

Il faudrait donc que je garde l'image en session pour ne pas qu'il y accède ? Parce-que s'il revient sur le formulaire avec "page précédente" ça va pas changer le captcha pour autant, donc il lui suffirait de renvoyer le formulaire à chaque fois avec le même captcha :question:

deepblue
deepblue
Niveau 16
03 juillet 2010 à 16:41:25

Captcha.php
- trouver aléatoirement une image
- $_SESSION['image'] = ton_image;
- afficher l'image

Formulaire.php
- <img
src="captcha.php?valeur_aleatoire_pour_pas_de_cach
e" alt="" />

Cible_du_formulaire :
- test de correspondance avec $_SESSION['image'] et $_POST['champ captcha']
- tu supprimes $_SESSION['image']

Le mec a beau faire précédent, il ne pourra pas flooder ($_SESSION['image'] étant supprimé)

Pseudo supprimé
Pseudo supprimé 03 juillet 2010 à 17:29:16

ah oui mais s'il fait précédent il verra l'ancien captcha s'afficher aussi, alors qu'il n'est plus valide, c'est trompeur un peu :(

deepblue
deepblue
Niveau 16
03 juillet 2010 à 18:08:18

Et ben tampis pour lui =) C'est à toi de gérer pour que quand il fasse précédent, ça ne fonctionne pas (faire une redirection :ok: )

Pseudo supprimé
Pseudo supprimé 03 juillet 2010 à 19:13:15

ok ça marche, j'ai mis l'image en variable de session, et même quand on fait page précédente ça change automatiquement le captcha ! :)

merci !

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment