Captchas in PHP
Seite 3: Captcha-Test
Session speichert das Gesuchte
Zum Vergleich des eingegebenen mit dem gespeicherten Text ist zunächst die Session fortzusetzen, die den korrekten String enthält. Falls er noch existiert (die Session also noch gültig ist) und mit dem eingegebenen String übereinstimmt, sieht man den Captcha-Test als bestanden an. Nun sind die geschützten Aktionen zugänglich.
Nach einem bestandenen Test hat die Session ihren Dienst getan und muss beendet werden. Sonst könnte ein Mensch einmal das Captcha lösen und anschließend einem Bot die Session-ID samt Lösung überlassen, sodass der beispielsweise noch Tausende Male abstimmte könnte. Für das Beenden der Session reicht es hier, die Variable zu löschen, die den Code enthält. Das Skript bemerkt gegebenenfalls bei der Überprüfung am Anfang, dass die übergebene Session bereits beendet ist und lehnt die neue Anfrage ab.
Texterkennungssoftware, sogenannte OCR-Programme, vermag mittlerweile Text aus Bildern zu lesen. Auf das Knacken von Captchas spezialisierten Weiterentwicklungen dieser Programme gelingt die Entzifferung immer besser. Im Erkennen einzelner, verfremdeter Zeichen haben einige den Menschen bereits überholt. Auf Internetseiten wie Captcha Killer, AICaptcha, Breaking a Visual Captcha und PWNtcha (siehe Onlinequellen) kann man den Fortschritt dieser Verfahren verfolgen. Wie fast immer bei Sicherheitstechniken entwickelt sich ein Wettlauf: Während Entwickler bessere Captchas erstellen, gibt es stärkere Bemühungen, sie zu umgehen. Der Aufwand für die Seitenbetreiber steigt und so hat die Suche nach Alternativen begonnen. Matt May vom W3-Consortium hat einige mit ihren Stärken und Schwächen zusammengestellt. So wären etwa Rechenaufgaben oder Fragen verwendbar: Was ist ein Planet? a) Baum b) Erde c) Hund. Doch auch dies ist nicht die Ultima Ratio, da nur extrem viele, stets aktualisierte Fragen Maschinen langfristig fernhalten können. Auch Sound-Captchas scheinen wenig Erfolg versprechend, bräuchte man doch Lautsprecher an jedem PC und eine gute Tonqualität.
Sinnvoll wäre, das Bild eines bekannten Tieres, etwa eines Hundes, zu verwenden und nach der Tierart zu fragen. Viele verschiedene Bilder pro Tierart erschweren die Arbeit für Maschinen, stellen für Menschen aber keine Hürde dar. Andererseits scheitern viele fremdsprachige Besucher an der Aufgabe, denen die Tierarten in einer anderen Sprache nicht bekannt sind.
Viele Lösungen weisen noch Schwächen in Bezug auf Barrierefreiheit auf. So bleibt etwa Blinden all das versperrt, was durch Captchas geschützt ist. Das hat in den USA bereits erste Anwälte auf den Plan gerufen. Dieser Probleme hat sich das Captcha-Projekt angenommen. Es bietet Plug-ins, mit denen sich grafische oder akustische Captchas auf der eigenen Website einsetzen lassen. Sie dienen einem guten Zweck: Als grafische Captchas fungieren bei der Digitalisierung von Büchern nicht erkannte Stellen. Dabei werden bereits entschlüsselte Ausdrücke, die zur Verifizierung der Eingabe dienen, mit noch unbekannten kombiniert. Jede Entzifferung stellt auf diese Weise einen Beitrag zum Erhalt alter Bücher dar.