Bonjour
On trouve un peu partout un certain nombre de solutions de captcha dont aucune ne semble pleinement satisfaisante, soit en terme d'accessibilité soit en terme de fiabilité. Il y a apparemment plusieurs types de bots (certains même assistés d'un humain) et les différentes solutions proposées ne paraissent efficaces qu'au prix d'une inaccessibilité parfois quasi-complète.
Je n'ai pas de solution à proposer mais je me demande si on ne pourrait pas essayer d'engager une sorte de réflexion sur la question (ça a sûrement déjà été fait ailleurs...) pour essayer de parvenir à une solution acceptable.
Le problème c'est qu'un champ à remplir peut être rempli par n'importe qui, n'importe quand et en n'importe quelle langue. A ma connaissance les solutions actuelles sont soit de conditionner l'envoi à une intervention quelconque (lire un mot-image déformé, répondre à une question plus ou moins tarabiscotée, etc) soit de passer par une astuce technique (champ caché par CSS où l'imbécile de bot modifie la valeur, changement aléatoire de nom de champs, etc).
Alors je me demande si la solution par exemple d'afficher une page intermédiaire reprenant les valeurs envoyées par POST écrite en dur (genre : vous avez posté ceci et cela, veuillez confirmer > bouton OK) associé à la présence d'un champ non-visible reprenant le contenu du POST et vérifiant la stricte équivalence des deux au moment du submit pourrait ne pas faire l'affaire ? En terme de sens et d'accessibilité, le réaffichage des données postées serait cohérent et pertinent.
Pour le bot :
- si il a entre temps modifié le champ invisible, le message ne sort pas.
- Si il est programmé pour envoyer le form et le quitter aussitôt dès la première page sans attendre le résultat, le cycle est arrêté.
- s'il arrive directement sur cette seconde page, les valeurs sont vides.
Inconvénient : si l'humain qui accompagne le bot attend la seconde page et valide manuellement, il peut automatiser le protocole.
Pour empêcher ça on aurait la possibilité d'afficher aléatoirement le bouton submit de la seconde page de façon à ce que seul un humain puisse détecter où cliquer (les autres cachés par CSS par exemple ?). Ou alors est-il possible d'intégrer plusieurs submit avec des destinations différentes et qu'un seul puisse être valable ? L'idée c'est que le bot en choisisse un au hasard (ou le premier ?) et - en imaginant qu'il y en ait 10 - réduire de 90% le form-spam automatisé par un humain, ce qui est assez rare sur nos "petits" sites.
L'inconvénient c'est qu'un utilisateur non-CSS soit confronté à tous ces boutons submit... Comment solutionner ça ? Est-ce qu'on ne peut pas conditionner l'apparition de ces boutons à quelque chose de solide ?
Est-ce que pour commencer cette solution de page intermédiaire est intéressante ou pas ? C'est complètement à côté de la plaque ?
Comme dit c'est pas une solution qui est proposée mais une esquisse de possibilité de tentative de début d'essai de solution .
a+
On trouve un peu partout un certain nombre de solutions de captcha dont aucune ne semble pleinement satisfaisante, soit en terme d'accessibilité soit en terme de fiabilité. Il y a apparemment plusieurs types de bots (certains même assistés d'un humain) et les différentes solutions proposées ne paraissent efficaces qu'au prix d'une inaccessibilité parfois quasi-complète.
Je n'ai pas de solution à proposer mais je me demande si on ne pourrait pas essayer d'engager une sorte de réflexion sur la question (ça a sûrement déjà été fait ailleurs...) pour essayer de parvenir à une solution acceptable.
Le problème c'est qu'un champ à remplir peut être rempli par n'importe qui, n'importe quand et en n'importe quelle langue. A ma connaissance les solutions actuelles sont soit de conditionner l'envoi à une intervention quelconque (lire un mot-image déformé, répondre à une question plus ou moins tarabiscotée, etc) soit de passer par une astuce technique (champ caché par CSS où l'imbécile de bot modifie la valeur, changement aléatoire de nom de champs, etc).
Alors je me demande si la solution par exemple d'afficher une page intermédiaire reprenant les valeurs envoyées par POST écrite en dur (genre : vous avez posté ceci et cela, veuillez confirmer > bouton OK) associé à la présence d'un champ non-visible reprenant le contenu du POST et vérifiant la stricte équivalence des deux au moment du submit pourrait ne pas faire l'affaire ? En terme de sens et d'accessibilité, le réaffichage des données postées serait cohérent et pertinent.
Pour le bot :
- si il a entre temps modifié le champ invisible, le message ne sort pas.
- Si il est programmé pour envoyer le form et le quitter aussitôt dès la première page sans attendre le résultat, le cycle est arrêté.
- s'il arrive directement sur cette seconde page, les valeurs sont vides.
Inconvénient : si l'humain qui accompagne le bot attend la seconde page et valide manuellement, il peut automatiser le protocole.
Pour empêcher ça on aurait la possibilité d'afficher aléatoirement le bouton submit de la seconde page de façon à ce que seul un humain puisse détecter où cliquer (les autres cachés par CSS par exemple ?). Ou alors est-il possible d'intégrer plusieurs submit avec des destinations différentes et qu'un seul puisse être valable ? L'idée c'est que le bot en choisisse un au hasard (ou le premier ?) et - en imaginant qu'il y en ait 10 - réduire de 90% le form-spam automatisé par un humain, ce qui est assez rare sur nos "petits" sites.
L'inconvénient c'est qu'un utilisateur non-CSS soit confronté à tous ces boutons submit... Comment solutionner ça ? Est-ce qu'on ne peut pas conditionner l'apparition de ces boutons à quelque chose de solide ?
Est-ce que pour commencer cette solution de page intermédiaire est intéressante ou pas ? C'est complètement à côté de la plaque ?
Comme dit c'est pas une solution qui est proposée mais une esquisse de possibilité de tentative de début d'essai de solution .
a+