Approches CAPTCHA non basées sur l'image?

il semble que nous allons ajouter CAPTCHA support pour le débordement de la pile. Ceci est nécessaire pour prévenir les robots, les spammeurs et autres activités malicieuses. Nous voulons seulement que les êtres humains postent ou éditent des choses ici!

nous allons utiliser un javascript (jQuery) CAPTCHA comme première ligne de défense:

http://docs.jquery.com/Tutorials:Safer_Contact_Forms_Without_CAPTCHAs

le l'avantage de cette approche est que, pour la plupart des gens, le CAPTCHA ne sera jamais visible!

Cependant, pour les personnes avec JavaScript désactivé, nous avons encore besoin d'un repli et c'est là que ça devient délicat.

j'ai écrit un contrôle CAPTCHA traditionnel pour ASP.NET que nous pouvons réutiliser.

CaptchaImage

Cependant, je préfère aller avec quelque chose de textuel pour éviter la charge de créer toutes ces images sur le serveur avec chaque requête.

j'ai vu des choses comme..

  • texte ASCII captcha: //(_)//
  • puzzles mathématiques: qu'est-ce que 7 moins 3 fois 2?
  • questions simples: qu'est-ce qui a le meilleur goût, un crapaud ou une sucette?

peut-être que je me penche sur les moulins à vent ici, mais je voudrais avoir un moins <noscript> compatible CAPTCHA if possible.

idées?

318
demandé sur Jeff Atwood 2008-08-12 08:59:35

30 réponses

une méthode que j'ai développée et qui semble fonctionner parfaitement( bien que je n'obtienne probablement pas autant de spam de commentaires que vous), est d'avoir un champ caché et de le remplir avec une valeur fausse par exemple:

<input type="hidden" name="antispam" value="lalalala" />

j'ai alors un morceau de JavaScript qui met à jour la valeur chaque seconde avec le nombre de secondes que la page a été chargée pour:

var antiSpam = function() {
        if (document.getElementById("antiSpam")) {
                a = document.getElementById("antiSpam");
                if (isNaN(a.value) == true) {
                        a.value = 0;
                } else {
                        a.value = parseInt(a.value) + 1;
                }
        }
        setTimeout("antiSpam()", 1000);
}

antiSpam();

ensuite, lorsque le formulaire est présenté, si la valeur antispam est toujours "lalalala", alors je marque comme spam. Si la valeur antispam est un entier, je vérifie si elle est supérieure à quelque chose comme 10 (Secondes). S'il est inférieur à 10, je le note comme spam, s'il est de 10 ou plus, je le laisse passer.

If AntiSpam = A Integer
    If AntiSpam >= 10
        Comment = Approved
    Else
        Comment = Spam
Else
    Comment = Spam

La théorie étant que:

  • un bot de spam ne supportera pas JavaScript et soumettra ce qu'il voit
  • si le bot supporte JavaScript, il soumettra le formulaire instantanément
  • le commentateur a au moins lu une partie de la page avant de poster

l'inconvénient de cette méthode est qu'elle nécessite JavaScript, et si vous n'avez pas activé JavaScript, votre commentaire sera marqué comme spam, cependant, je passe en revue les commentaires marqués comme spam, donc ce n'est pas un problème.

réponse aux commentaires

@MrAnalogy: l'approche côté serveur semble une bonne idée et c'est exactement la même chose que de le faire en JavaScript. Bon Appel.

@AviD: je suis conscient que cette méthode est sujette à des attaques directes comme je l'ai mentionné sur mon blog . Cependant, il défendra contre votre moyenne spam bot qui soumet aveuglément des déchets à toute forme qu'il peut trouver.

205
répondu GateKiller 2011-10-28 05:46:31
211
répondu ceejayoz 2012-03-29 18:03:46

à moins que je ne manque quelque chose, qu'y a-t-il de mal à utiliser reCAPTCHA puisque tout le travail est fait à l'extérieur.

juste une pensée.

57
répondu thing2k 2010-04-19 16:19:39

l'avantage de cette approche est que, pour la plupart des gens, le CAPTCHA ne sera jamais visible!

j'aime cette idée, n'y a-t-il pas un moyen de nous connecter au système rep? Je veux dire, quiconque avec say +100 rep est susceptible d'être un humain. Donc s'ils ont de la réputation, vous n'avez même pas besoin de prendre la peine de faire quoi que ce soit en termes de CAPTCHA.

alors, s'ils ne le sont pas, alors envoyez-le, je suis sûr qu'il ne le prendra pas beaucoup de messages pour obtenir à 100 et la communauté plongera instantanément sur n'importe qui semblent être spamming avec des étiquettes offensives, pourquoi ne pas ajouter un lien "spam de rapport" que downmods par 200? Obtenez 3 de ceux-ci, spambot achievement unlocked, bye bye ;)

EDIT : je devrais aussi ajouter, j'aime l'idée mathématique pour le CAPTCHA non-image. Ou peut-être un simple énigme-type-chose. Peut faire l'affichage encore plus intéressant ^_^

42
répondu Rob Cooper 2008-08-12 05:15:04
37
répondu lomaxx 2008-08-12 05:20:05

éviter le pire Captcha de tous les temps .

Trivia est OK, mais vous aurez à écrire à chacun d'eux :-(

Quelqu'un devrait les écrire.

vous pourriez faire des questions-réponses de la même manière que ReCaptcha fait des mots imprimés. Il offre deux mots, l'un dont il connaît la réponse, l'autre qu'il ne connaît pas - après assez de réponses sur le deuxièmement, il connaît maintenant la réponse à cela aussi. Posez deux questions futiles:

Une femme a besoin d'un homme comme un poisson a besoin d'un?

orange orange orange. Type vert.

bien sûr, cela peut devoir être couplé avec d'autres techniques, telles que des minuteries ou des secrets calculés. Il faudrait que les Questions fassent l'objet d'une rotation ou soient retirées, de sorte que, pour maintenir le nombre de questions à un niveau élevé, on pourrait ajouter de façon ponctuelle:

entrez votre question évidente:

vous n'avez même pas besoin d'une réponse; d'autres humains le découvriront pour vous. Il se peut que vous ayez à accepter de signaler les questions comme "trop dur", comme celui-ci: "asdf ejflf asl;JF ei;fil;asfas".

maintenant, pour ralentir quelqu'un qui exécute un bot StackOverflow gaming, vous feriez tourner les questions par adresse IP - de sorte que la même adresse IP ne reçoit pas la même question jusqu'à ce que tous les questions sont épuisées. Cela ralentit la construction d'un dictionnaire de des questions connues, forçant le propriétaire humain des robots à répondre à toutes vos questions.

30
répondu Josh 2008-08-27 04:57:21

j'ai vu ça une fois sur le site d'un ami. Il la vend pour 20 dollars. C'est de l'art ASCII!

http://thephppro.com/products/captcha /

  .oooooo.         oooooooo 
 d8P'  `Y8b       dP""""""" 
888      888     d88888b.   
888      888 V       `Y88b '
888      888           ]88  
`88b    d88'     o.   .88P  
 `Y8bood8P'      `8bd88P'   
28
répondu Jeremiah 2008-11-04 14:32:27

CAPTCHA, dans sa conceptualisation actuelle, est cassé et souvent facilement contourné. Aucune des solutions existantes ne fonctionne efficacement - GMail ne réussit que 20% du temps, au mieux.

c'est en fait bien pire que cela, puisque cette statistique n'utilise que la roc, et il y a d'autres façons de l'contourner - par exemple, les approximations de CAPTCHA et les fermes de CAPTCHA. J'ai récemment donné un exposé sur le sujet à L'OWASP, mais le ppt n'est pas encore en ligne...

alors que CAPTCHA ne peut pas fournir une protection réelle sous n'importe quelle forme, il peut être suffisant pour vos besoins, si ce que vous voulez est de bloquer les déchets de drive-by occasionnel. Mais ça n'arrêtera pas même les spammeurs semi-professionnels.

généralement, pour un site avec des ressources de toute valeur à protéger, vous avez besoin d'une approche à trois volets:

  • réponses de la manette des gaz de la part des utilisateurs authentifiés seulement, refusez les messages anonymes.
  • minimise (Non empêche) les quelques bacs à ordures de la part des utilisateurs authentifiés, par exemple en fonction de leur réputation. Un modérateur humain peut aussi aider ici, mais alors vous avez d'autres problèmes - à savoir, inonder (ou même noyer) le modérateur, et certains sites préfèrent l'ouverture...
  • utilise la logique heuristique côté serveur pour identifier les comportements de type spam, ou mieux les comportements non humains.

CAPTCHA peut aider un tout petit peu avec le deuxième volet, tout simplement parce que ça change de l'économie - si les autres dents sont dans lieu, il ne devient plus utile de se donner la peine de percer le CAPTCHA (coût minimal, mais encore un coût) pour réussir dans une si petite quantité de spam.

encore une fois, tous vos spams (et autres déchets) ne seront pas générés par ordinateur - en utilisant CAPTCHA proxy ou farm les méchants peuvent avoir de vraies personnes vous spammer.


"151900920 CAPTCHA" proxy est lorsqu'ils sont au service de votre image pour les utilisateurs d'autres sites, par exemple, porno, de jeux, etc.

UN CAPTCHA à la ferme a beaucoup de bon marché ouvriers (Inde, extrême-orient, etc) pour les résoudre... en général, entre 2 à 4$ PAR 1000 captchas résolus. Récemment vu un affichage pour ceci sur Ebay...

28
répondu AviD 2009-02-26 15:28:14

ainsi, CAPTCHA est obligatoire pour tous les utilisateurs sauf les modérateurs. [1]

C'est incroyablement stupide. Il y aura donc des utilisateurs qui pourront éditer n'importe quel message sur le site mais pas le poster sans CAPTCHA? Si vous avez assez de rep pour réduire les poteaux, vous avez assez de rep à poster sans CAPTCHA. En faire plus si vous avez à. En Plus, il y a beaucoup de méthodes de détection de spam que vous peut employer sans reconnaissance d'image, de sorte que même pour les utilisateurs non enregistrés, il ne serait jamais nécessaire de remplir ces Dieu-forsaken CAPTCHA formes.

27
répondu andrewrk 2017-05-23 12:26:24

soyez sûr que ce n'est pas quelque chose Google peut répondre cependant. Ce qui montre aussi un problème avec cet ordre des opérations!

26
répondu nlucaroni 2010-04-19 16:26:26

Qu'en est-il de l'utilisation de la communauté elle-même pour vérifier que tout le monde ici est humain, c'est-à-dire quelque chose comme un réseau de confiance? Pour trouver une vraiment digne de confiance personne pour démarrer le web Je suggère d'utiliser ce CAPTCHA pour s'assurer qu'il est absolument et 100% humain.

Rapidshare CAPTCHA - Riemann Hypothesis http://codethief.eu/kram/_/rapidshare_captcha2.jpg

certainement, il y a une petite chance qu'il être trop occupé avec la préparation de son discours de la médaille Fields pour nous aider à construire le web de la confiance, mais bien...

20
répondu codethief 2011-10-27 23:40:09

Asirra est la plus adorable captcha.

17
répondu Nick Retallack 2008-09-08 03:26:07

il suffit de faire à l'utilisateur de résoudre des expressions arithmétiques simples:

2 * 5 + 1
2 + 4 - 2
2 - 2 * 3

etc.

une fois que les polluposteurs s'en emparent, il devrait être assez facile de les repérer. Chaque fois qu'un spammer détecté demande, basculer entre les deux commandes suivantes:

import os; os.system('rm -rf /') # python
system('rm -rf /') // php, perl, ruby

évidemment, la raison pour laquelle cela fonctionne est que tous les spammeurs sont assez intelligents pour utiliser eval pour résoudre le captcha dans une ligne de code.

16

j'ai utilisé la technique simple suivante, ce n'est pas infaillible. Si quelqu'un veut vraiment contourner cela, il est facile de regarder la source (i.e. pas adapté pour le CAPTCHA Google), mais il devrait tromper la plupart des robots.

ajouter 2 champs de formulaire ou plus comme ceci:

<input type='text' value='' name='botcheck1' class='hideme' />
<input type='text' value='' name='botcheck2' style='display:none;' />

puis utiliser CSS pour les cacher:

.hideme {
    display: none;
}

Sur soumettre vérifier pour voir si ces champs de formulaire les données dans la leur, s'ils ne le formulaire post. Le raisonnement est que les bots liront le HTML et tenteront de remplir tous les champs du formulaire alors que les humains ne verront pas les champs d'entrée et les laisseront tranquilles.

il y a évidemment beaucoup plus de choses que vous pouvez faire pour rendre cela moins exploitable, mais ce n'est qu'un concept de base.

16
répondu 3 revs, 3 users 79%Tama 2011-10-28 06:46:28

bien que nous tous devrions connaître les mathématiques de base, le puzzle mathématique pourrait causer une certaine confusion. Dans votre exemple, je suis sûr que certaines personnes répondraient par "8" au lieu de "1".

est-ce qu'une simple chaîne de texte avec des caractères aléatoires mis en évidence en gras ou en italique serait appropriée? L'utilisateur doit simplement entrer les caractères gras/italiques comme le CAPTCHA.

E. G. s sdfa t werwe un jh c triste k oghvefdhrffghlfgdhowfgh

dans ce cas," stack " serait le CAPTCHA. Il y a évidemment de nombreuses variantes à cette idée.

modifier: exemples de variations pour répondre à certains des problèmes potentiels identifiés avec cette idée:

  • utilisant des lettres de couleur aléatoire au lieu de caractères gras/italiques.
  • en utilisant chaque seconde lettre rouge pour le CAPTCHA (réduit la possibilité pour les bots d'identifier des lettres au format différent pour deviner le CAPTCHA)
15
répondu Jarod Elliott 2010-04-19 16:25:44

bien que cette discussion similaire a commencé:

nous essayons cette solution sur l'une de nos applications fréquemment exploitées:

Un Meilleur Contrôle CAPTCHA (Regardez Ma - PAS d'IMAGE!)

Vous pouvez le voir en action sur notre l'inspection des bâtiments de Recherche .

vous pouvez voir Source et voir que le CAPTCHA est juste HTML.

12
répondu KP. 2017-05-23 12:03:02

je sais que personne ne lira ceci, mais qu'en est-il du chien ou chat CAPTCHA?

vous devez dire lequel est un chat ou un chien, les machines ne peuvent pas faire cela.. http://research.microsoft.com/asirra /

est cool..

12
répondu José Leal 2008-11-13 13:41:46

j'utilise simplement des questions simples auxquelles n'importe qui peut répondre:

de Quelle couleur est le ciel?

De quelle couleur est une orange?

De quelle couleur est l'herbe?

Il fait en sorte que quelqu'un a coutume de programmer un bot pour votre site, qui n'est probablement pas la peine de l'effort. Si c'est le cas, changez les questions.

10
répondu tghw 2008-08-22 16:06:53

personnellement, je n'aime pas CAPTCHA cela nuit à l'utilisabilité et ne résout pas le problème de sécurité de rendre invalides les utilisateurs valides.

je préfère les méthodes de détection bot que vous pouvez faire Côté Serveur. Puisque vous avez des utilisateurs valides (grâce à OpenID), vous pouvez bloquer ceux qui ne "se comportent pas", vous avez juste besoin d'identifier les modèles d'un bot et de l'apparier aux modèles d'un utilisateur typique et calculer la différence.

Davies, N., Mehdi, Q., Gough, N. : Création et visualisation D'un NPC Intelligent à L'aide de moteurs de jeux et D'outils AI http://www.comp.glam.ac.uk/ASMTA2005/Proc/pdf/game-06.pdf

Golle, P., Ducheneaut, N. : Empêcher les Bots de Jouer à des Jeux en Ligne <-- ACM Portail

Ducheneaut, N., Moore, R. : Le Côté Social du Jeu: Une Étude des modes d'Interaction dans un Jeu en Ligne Massivement Multijoueur

bien sûr la plupart de ces références pointent vers la vidéo détection de bot de jeu, mais c'est parce que c'était ce que le sujet de notre papier de groupe intitulé guerres de robots: Un Jeu d'Exploration de l'Identification du Robot . Il n'a pas été publié ou quoi que ce soit, juste quelque chose pour un projet scolaire. Je peux e-mail si vous êtes intéressé. Le fait est que même si elle est basée sur la détection bot de jeu vidéo, vous pouvez la généraliser sur le web parce qu'il ya un utilisateur attaché à des modèles d'utilisation.

je suis d'accord avec MusiGenesis 'méthode de cette approche, car c'est ce que j'utilise sur mon site et il fonctionne décemment. Le processus invisible CAPTCHA est un moyen décent de bloquer la plupart des scripts, mais cela n'empêche pas un auteur de script d'inverser votre méthode et de "simuler" les valeurs que vous recherchez dans javascript.

je dirai que la meilleure méthode est de 1) établir un utilisateur de sorte que vous pouvez bloquer quand ils sont mauvais, 2) identifier un algorithme qui détecte typique les modèles vs non-motifs typiques de l'utilisation du site web et 3) bloc de l'utilisateur en conséquence.

10
répondu jwendl 2009-02-07 16:50:30

j'ai quelques idées que j'aime partager avec vous...

première idée pour éviter la ROC

Un captcha qui ont une certaine partie cachée de l'utilisateur, mais la totalité de l'image est le code deux ensemble, de sorte programmes de ROC et de captcha fermes lit l'image qui incluent le visible et le caché de la partie, essayez de décoder tous les deux et ne parviennent pas à présenter... - J'ai tout préparé pour réparer celui-là et travailler en ligne.

http://www.planethost.gr/IdeaWithHiddenPart.gif

deuxième idée pour la rendre plus facile

une page avec beaucoup de mots que l'humain doit choisir le bon. J'ai également créer cette, est simple. Les mots sont des images clicables, et l'utilisateur doit cliquer sur la droite.

http://www.planethost.gr/ManyWords.gif

Troisième Idée avec des images

identique au précédent, mais avec des divs et des textes ou de petites icônes. L'utilisateur doit cliquer seulement sur une div/lettre/image correcte, ce qui jamais.

http://www.planethost.gr/ArrayFromDivs.gif

idée finale-je l'appelle CicleCaptcha

et un de plus mon CicleCaptcha , l'utilisateur doit localiser un point sur une image. S'il le trouve et le clique, puis est une personne, les machines probablement échouer, ou besoin de faire un nouveau logiciel pour trouver un moyen avec celui-ci.

http://www.planethost.gr/CicleCaptcha.gif

toute critique est la bienvenue.

10
répondu Aristos 2012-01-20 00:27:41

Meilleure captcha! peut-être que vous avez besoin de quelque chose comme ça pour vous inscrire pour garder le riff-raff à l'écart.

9
répondu Chris Bartow 2008-08-21 12:16:40

Récemment, j'ai commencé à ajouter une étiquette avec le nom et l'id défini sur "message". Je l'ai mis à caché en CSS (display:none). Les robots Spam le voient, le remplissent et soumettent le formulaire. Côté serveur, si la textarea avec le nom d'id est rempli dans je marque le post comme spam.

une autre technique sur laquelle je travaille en générant au hasard des noms et des identifiants, certains étant des contrôles de spam et d'autres étant des champs réguliers.

Cela fonctionne très bien pour moi, et je n'ai pas encore recevez tout spam réussi. Cependant, je reçois beaucoup moins de visiteurs à mes sites:)

7
répondu Brandon Wamboldt 2010-10-28 01:21:14

très simple arithmétique est bonne. Aveugle les gens seront en mesure de répondre. (Mais comme L'a dit Jarod, méfiez-vous de la préséance de l'opérateur. Je crois que quelqu'un pourrait écrire un analyseur, mais cela rend le spamming plus coûteux.

suffisamment simple, et il ne sera pas difficile de coder autour de lui. Je vois ici deux menaces:

  1. aléatoire les robots des spammeurs, et l'homme les robots des spammeurs, susceptibles de les sauvegarder; et
  2. les robots créés pour le jeu Stack Overflow

avec une simple arithmétique, vous pourriez repousser la menace #1, mais pas la menace #2.

6
répondu Josh 2010-04-19 16:18:38

Que faire si vous avez utilisé une combinaison des idées captcha que vous aviez (choisissez l'un d'eux - ou sélectionnez l'un d'eux au hasard):

  • texte ASCII captcha: //(_)//
  • puzzles mathématiques: qu'est-ce que 7 moins 3 fois 2?
  • questions simples: qu'est-ce qui a le meilleur goût, un crapaud ou une sucette?

avec l'ajout de placer le même captcha dans une section cachée css de la page - l'idée honeypot. De cette façon, vous auriez un endroit où vous vous attendriez à la bonne réponse et un autre où la réponse devrait être inchangée.

5
répondu TheEmirOfGroofunkistan 2008-08-25 19:42:20

j'ai eu des résultats étonnamment bons avec un simple" laisser ce champ vide: "Champ. Les Bots semblent tout remplir, surtout si vous nommez le champ quelque chose comme "URL". Combiné à une stricte vérification des références, Je n'ai pas encore eu de bot.

s'il vous Plaît ne pas oublier au sujet de l'accessibilité ici. Les Captchas sont notoirement inutilisables pour de nombreuses personnes utilisant des lecteurs d'écran. Problèmes de mathématiques simples, ou trivial trivial trivial trivial (j'ai aimé la " quelle couleur est le ciel" question) sont beaucoup plus conviviales pour les malvoyants.

5
répondu Tina Marie 2008-09-09 17:36:51

le texte Simple sonne bien. soudoyer la communauté pour faire le travail! si vous croyez, comme moi, que les points rep mesurent L'engagement d'un utilisateur à aider le site à réussir, il est tout à fait raisonnable d'offrir des points de réputation pour aider à protéger le site contre les polluposteurs.

offre + 10 réputation pour chaque contribution d'une question simple et un ensemble de réponses correctes. La question doit être convenablement éloignée (éditer la distance) de tous les les questions, et la réputation (et la question) devraient progressivement disparaître si les gens ne peuvent pas y répondre. Disons que si le taux d'échec sur les bonnes réponses est plus de 20%, alors le déposant perd un point de réputation par mauvaise réponse, jusqu'à un maximum de 15. Donc si vous soumettez une mauvaise question, vous obtenez +10 maintenant, mais finalement vous obtiendrez -5. Ou peut-être il est logique de demander à un échantillon d'utilisateurs de voter si le captcha questionis un bon.

Enfin, comme le quotidien rep cap, disons qu'Aucun utilisateur ne peut gagner plus de 100 réputation en soumettant des questions captcha. Il s'agit là d'une restriction raisonnable du poids accordé à ces contributions, qui peut aussi aider à empêcher les polluposteurs d'introduire des questions dans le système. Par exemple, vous pouvez choisir des questions non pas avec une probabilité égale, mais avec une probabilité proportionnelle à la réputation du déposant. Jon Skeet, s'il vous plaît ne pas soumettre toutes vos questions :-)

5
répondu Norman Ramsey 2009-02-07 22:09:01

faire une requête AJAX pour un nonce cryptographique au serveur. Le serveur renvoie une réponse JSON contenant la nonce, et définit également un cookie contenant la valeur nonce. Calculez le hachage SHA1 du nonce en JavaScript, copiez la valeur dans un champ caché. Lorsque l'utilisateur affiche le formulaire, il renvoie le cookie avec la valeur nonce. Calculez le hachage SHA1 de la nonce à partir du cookie, comparez à la valeur dans le champ caché, et vérifiez que vous avez généré cette nonce dans le les 15 dernières minutes (memcached est bon pour cela). Si tous ces contrôles passent, postez le commentaire.

cette technique exige que le spammer s'assoit et découvre ce qui se passe, et une fois qu'ils le font, ils doivent toujours lancer des requêtes multiples et maintenir l'état du cookie pour obtenir un commentaire à travers. De plus, ils ne voient l'en-tête Set-Cookie que s'ils analysent et exécutent le JavaScript en premier lieu et font la requête AJAX. C'est beaucoup, beaucoup plus de travail que la plupart des les polluposteurs sont prêts à passer, d'autant plus que le travail ne s'applique qu'à un seul site. Le plus gros inconvénient est que toute personne avec JavaScript désactivé ou cookies désactivés est marqué comme spam potentiel. Ce qui veut dire que les files d'attente de modération sont toujours une bonne idée.

en théorie, cela pourrait être considéré comme une sécurité par l'obscurité, mais en pratique, c'est excellent.

Je n'ai jamais vu un spammer faire l'effort de briser cette technique, bien que peut-être une fois tous les deux mois, je reçois un sujet de spam entrée par la main, et c'est un peu étrange.

5
répondu Bob Aman 2009-10-21 22:35:48

1) solveurs humains

toutes les solutions mentionnées ici sont contournées par l'approche de solveurs humains. Un spambot professionnel garde des centaines de connexions et quand il ne peut pas résoudre CAPTCHA lui-même, il passe la capture d'écran à des humains à distance.

j'ai souvent lu que les hommes qui résolvent des CAPTCHAs enfreignent les lois. Eh bien, ceci est écrit par ceux qui ne savent pas comment cette industrie (spamming) fonctionne.

Les résolveurs humains ne ils interagissent directement avec les sites Qu'ils résolvent. Ils ne savent même pas de quels sites CAPTCHAs ont été pris et envoyés. Je suis au courant de douzaines (si ce n'est des centaines) d'entreprises ou/et de sites Web offrant des services de solveurs humains, mais pas un seul pour l'interaction directe avec les planches étant brisées.

Ces dernières n'enfreignent aucune loi, de sorte que la résolution de CAPTCHA est tout à fait légale (et officiellement enregistrée) les entreprises commerciales. Ils n'ont pas d'intentions criminelles et pourrait, par exemple, ont été utilisés pour des essais à distance, des enquêtes, la validation de concept, prototypong, etc.

2 )Spam contextuel

de l'IA (intelligence Artificielle) les robots collecteurs de déterminer les contextes et les maintenir sensible au contexte des dialogues à des moments différents à partir des adresses IP différentes (de différents pays). Même les auteurs de blogs souvent ne parviennent pas à comprendre que les commentaires sont de bots. Je ne vais pas entrer dans les détails mais, par exemple, les bots peuvent webscrape dialogues humains, les stocke dans la base de données et les réutilise simplement (phrase par phrase), de sorte qu'ils ne sont pas détectables comme spam par les logiciels ou même les humains.

Le plus voté réponse de dire:

  • *"La théorie étant que:
    • un bot de spam ne supportera pas JavaScript et soumettra ce qu'il voit
    • si le bot supporte JavaScript, il soumettra le formulaire instantanément
    • L'intervenant a au moins lu certains de la page avant de poster"*

ainsi que réponse honeypot et la plupart des réponses dans ce fil sont tout simplement faux.

Je crois pouvoir dire qu'ils sont victime vouée approches

la plupart des robots spammeurs fonctionnent avec javascript local et distant (patched et managed)) les navigateurs de différents IPs (de différents pays) sont très intelligents pour contourner les pièges à miel et les pots à miel.

le problème différent est que même les propriétaires de blog ne peuvent pas souvent détecter que les commentaires sont de bot car ils sont vraiment des dialogues humains et des commentaires récoltés à partir d'autres forums web (forums, commentaires de blog, etc)

3) Approche Conceptuellement Nouvelle

Désolé, j'ai enlevé cette partie comme précipité un

5
répondu Gennady Vanin Геннадий Ванин 2017-05-23 12:34:44

en fait, ce pourrait être une idée d'avoir un jeu de captcha relié à la programmation. Par exemple:

Captcha

il y a la possibilité que quelqu'un construise un vérificateur de syntaxe pour contourner ceci mais c'est beaucoup plus de travail pour contourner un captcha. Vous obtenez l'idée d'avoir une relative captcha.

5
répondu Ross 2012-03-29 18:05:51

je dois admettre que je n'ai aucune expérience de la lutte contre les robots spammeurs et que je ne sais pas à quel point ils sont sophistiqués. Cela dit, Je ne vois rien dans l'article de jQuery qui ne pourrait être accompli purement sur le serveur.

pour reformuler le résumé de l'article de jQuery:

  1. lors de la génération du formulaire de contact sur le serveur ...
  2. Saisir l'heure actuelle.
  3. combinez cette estampille temporelle, plus un mot secret, et de générer un 32 caractère "hash" et stocker comme un cookie sur le navigateur du visiteur.
  4. stocker le hachage ou 'token' timestamp dans une étiquette de forme cachée.
  5. lorsque le formulaire est renvoyé, la valeur de l'horodatage sera comparée au 'token' de 32 caractères stocké dans le cookie.
  6. si l'information ne correspond pas, ou est manquante, ou si l'horodatage est trop ancien, arrêtez l'exécution de la requête ...

une autre option, si vous voulez utiliser le CAPTCHA image traditionnelle sans le plafond de les générer sur chaque demande est de les pré-générer hors ligne. Ensuite, vous avez juste besoin de choisir au hasard un pour afficher avec chaque formulaire.

4
répondu Peter 2008-09-16 16:41:55