2008-10-13 5 views
6

Es gibt viele non-image-basierte CAPTCHA-Ideen, die herumschweben. Aber was ist mit der altmodischen Art?Härter, besser, schneller, stärker ... Techniken für ein bildbasiertes CAPTCHA?

Was sind die Elemente eines guten Bildes CAPTCHA? Welche visuellen Elemente sind schwer für Computer, aber einfacher für Menschen? Was ist mit Fehlern, Elementen, die für Computer einfacher sind als für Menschen? Was sind gute Techniken, um die Geschwindigkeit eines CAPTCHA Generators zu erhöhen?

Hier ist ein Beispiel für ein CAPCHA, an dem ich gearbeitet habe. Er erzeugt die Funktionen für zwei Sinuswellen und streckt dann einen Text zwischen ihnen. Es legt das über einen Hintergrund, der aus einem Bilderpool gezogen wird. Image-based CAPTCHA

Wie könnte dies verbessert werden? (Spezifisch verwende ich PHP GD.) Dinge, die in den Sinn kommen, sind:

  • Ändern Sie die Farbe des Textes, möglicherweise macht es mehrfarbig.
  • Fügen Sie "Kratzer" oder Markierungen hinzu, die den Text leicht verdecken.
  • Fügen Sie die Verzerrung hinzu, so dass sie auch horizontal von Sinuswellen beeinflusst wird.
  • Was geht in ein hervorragendes Bild CAPTCHA?


    Edit: Ich weiß, dass einige sehr würdiger Dritter CAPTCHA Ressourcen gibt. Ich suche nach Attributen, die machen sie gut. Ich würde gerne meine eigenen CAPTCHAs verwenden, nur um sich selbst zu verbessern. Sie können also über reCAPTCHA sprechen, aber es ist nicht genau das, wonach ich suche.

    Auch wurde es gebracht, dass nicht nur das Bild, sondern auch die Erfahrung Angelegenheiten, so fühlen Sie sich frei, das zu kommentieren.

    Antwort

    3

    Buchstaben schwer zu trennen. Verwenden Sie handschriftliche Schrift oder fügen Sie Zeilen hinzu, die Buchstaben verbinden. Verringern und randomisieren Sie den Abstand zwischen Buchstaben.

    Hinzufügen von Wellenverzerrung auch in anderen Achsen. Verzerrungen in nur einer Achse können relativ einfach analysiert und umgekehrt werden.

    Ärgern Sie sich überhaupt nicht mit farbigem Hintergrund. Es ist super einfach, schwarz aus anderen Farben automatisch zu filtern. Dein Hintergrund behindert nur Menschen.

    Fügen Sie keine Kratzer oder andere Geräusche hinzu, es sei denn, sie haben die gleiche Dicke wie Buchstaben. Rauschunterdrückungsalgorithmen können leicht Dinge entfernen, die dünner als Buchstaben sind.

    5

    Machen Sie jeden Buchstaben/jede Zahl aus einem Muster, I.E. nicht verbundene Punkte. Das heißt, der Computer kann nicht wissen, dass ein Punkt Teil eines anderen Buchstabens als Mustererkennung ist (was sie noch nicht haben.) Dann die üblichen Verzerrungen und zufälligen Linien.

    Wie Sie dies tun, ist die Herausforderung.

    BEARBEITEN: Auch Bonuspunkte für Muster verschiedener Formen und versuchen Alpha-Transparenz auf die Zeichen (an den Rändern oder das ganze Zeichen), so dass sie mit dem Hintergrund verschmelzen.

    +0

    Dies ist nur die Art von Idee, die ich suche. – stalepretzel

    0

    Ich hasse wirklich CAPTCHA auf Websites, sie mich nur ärgern, aber wenn Sie wollen, um zu versuchen und ein robuster zu machen versuchen Sie folgendes:

    • Fähigkeit, ein neues Bild zu erhalten, ohne
    • gesprochene Version einreichen für sehbehinderte
    • Uneinheitliche Zeichen

    ich Recaptcha auf ein paar Seiten verwendet haben, ist es eine schöne und robuste Lösung.

    Oder wenn Sie wirklich abgefahrene sein wollen darüber check this out: http://research.microsoft.com/asirra/

    0

    Algorithmen, die versuchen Captcha zu brechen Muster sind Matcher, dass die Arbeit von ein paar verschiedene Möglichkeiten: Skalierung und Verkanten die Symbole, die sie bereits kennen , Finden und Verfolgen von Kanten und Zählen von inneren Löchern, um zu helfen. Wenn Sie den Buchstaben in Stücke brechen, die Buchstabenqualität ändern oder starke Linien oder "Kratzer" entlang der Buchstaben hinzufügen können, helfen diese Techniken. Allerdings ist das alles ziemlich egal, wenn man bedenkt, dass wir recaptcha für diesen Zweck haben und es ist eine wunderbare Third-Party-App für diesen Zweck. Zusätzlich wird Captcha die Sicherheit Ihrer Website verbessern, aber nicht die wirklich Geliebten aufhalten.

    0

    Seien Sie vorsichtig mit Vorschlägen von ReCaptcha. Ich habe ein paar Dutzend Mal falsche Eingaben eingegeben und jedes Mal Erfolg gehabt. In einigen dieser Fälle habe ich falsche Eingaben für beide Wörter und nicht nur für das am meisten verdunkelte Wort eingegeben. Die Erfolgsrate war, wie gesagt, 100%.

    Ich denke auch, dass Bild-basierte CAPTCHAs benutzerfeindlich sind und möglichst vermieden werden sollten. Der Vorteil von textbasierten Lösungen besteht darin, dass Sie sie auf die Zielgruppe Ihrer Website zuschneiden können. Dies führt zu einem Grad an Unklarheit, die Maschinen stolpern kann, wenn sie mit textbasierten Lösungen besser umgehen.

    Am allerwenigsten, verwenden Sie diese nicht die ganze Zeit: orange http://www.codinghorror.com/blog/images/word.png

    +0

    Ich werde für "grün" schießen. Oder vielleicht "Zitrone"? – stalepretzel

    +0

    Ich würde sagen, das ist wegen einer schlechten Umsetzung, am häufigsten mit recaptcha geschieht dies, weil der "Programmierer" vergaß, das richtige Wort zu überprüfen, er/sie dachte, dass recaptcha würde das für sie tun, und tatsächlich tut es nicht. – UnkwnTech

    1

    Was passiert, wenn die Farbe der Buchstaben in anderen Farben ... zum Beispiel verblasste kann die 5 als gelbe beginnen oben und verblassen in blau oder so. Die ausgewählten Farben sollten zufällig sein.

    Mit dem mehrfarbigen Hintergrund kann es für den Computer schwierig werden, wo der Hintergrund aufhört und der Charakter beginnt ... und hoffentlich wäre es nicht zu schwierig für den Menschen, das Muster tatsächlich aufzunehmen.

    0

    Ich mag die Idee von KittenAuth und Microsofts Asirra Projekt. Die Idee ist, dass, während OCR sich schließlich entwickeln wird, um Ihr traditionelles Captcha zu brechen, die Fähigkeit, ein Kätzchen von einem Hund zu unterscheiden, um viele Größenordnungen komplexer ein Problem ist, während es für Menschen absolut trivial ist.

    Diese Lösung, die wahrscheinlich die sexieste Captcha-Idee aller Zeiten ist, hat die Einschränkung, dass sie für hörgeschädigte Methoden nicht leicht tragbar ist.

    +0

    "Identifizieren Sie alle Katzen: * Meow * Meow * Schuss * Meow * Woof Woof * * Meow * Meow *" Okay, Sie rechts über das Audio sind ... – stalepretzel

    +0

    Es leidet auch unter einer begrenzten Anzahl von Bilder - Spammer können einfach durch die 100 Bilder blättern, sie manuell katargieren und dann einfach das Bild identifizieren, ich vermute, dass das Set bereits im Netz verfügbar ist. –

    0

    Was ist mit Scheren und Mischen von Bändern, um Display und Maus-Eingabe zu verfälschen?

    Beginnen Sie mit Ihrem sinusförmig gemorphten Text, teilen Sie ihn in horizontale Bänder oder vielleicht sogar ein Raster.

    Das optische Erkennung erschwert und könnte Ihnen ermöglichen, die Art von bösen Hintergrund Spiele zu vermeiden, dass einige Captchas schwer für Menschen zu machen.

    Für eine Site, auf die man sich im Browser verlassen kann, anstatt einen Eintrag einzugeben, den Shuffling verwenden, der den Benutzer dazu zwingt, Teile neu zu ordnen (nur in schlampiger Reihenfolge, nicht wie eines dieser Rätsel). Oder, wenn Sie Klicks allein verwenden wollten, das klassische sliding tile Puzzle.

    Hinweis, ich habe in ein Captcha laufen, wo Sie ein Tier in ihnen, das von N-Karikaturen hatten zu identifizieren hatte, die mich bei der Blockierung gelungen!

    Wellington Grey fasst gut die KI CAPTCHA Rennen.

    0

    Sie könnten eine zufällige Anordnung von Schriftarten hinzufügen, so dass GD jedes Zeichen mit einem anderen eine macht.

    1

    Statt captcha zu generieren Sie können ein Captcha Tabelle in Ihrer Datenbank erstellen und Sie befinden sich in der Tabelle durch Suche auf Google für eine gute captcha Bilder erstellen.

    Kein Grund zur Sorge "Wird diese Generierungsmethode funktionieren?"