Einfache Fragen für Anti-Spam-Verfahren
Fast jeder der sich etwas intensiver mit der Entwicklung von Webseiten beschäftigt oder schon eigene Online-Projekte auf die Beine gestellt hat wird sich sicherlich schonmal mit Captchas auseinander gesetzt haben (das sind diese kleinen Bildchen mit den schiefen und manchmal nahezu unlesbaren Buchstaben, die häufig bei einer Registrierung kommen). Allerdings wird auch jeder, der solche Dinger schonmal lösen musste selbige verfluchen. Daher habe ich mir überlegt für die Registrierung auf meiner späteren Internetseite diese Captchas komplett weg zu lassen und den Nutzer statt dessen eine (von vielen) simple Frage beantworten zu lassen. Beispiele dafür wären.:
Wie lauten die letzten drei Buchstaben des Wortes "Internet"?
oder
Wie nennt man gefrorenes Wasser?
Allerdings kommen beim weiteren darüber Nachdenken auch so Fragen zu stande wie z.B.:
"Welcher ist der höchste Berg der Erde!"
bei denen mir dann hinterher klar wird, dass diese Frage ehr weniger gut geeignet ist, weil:
Auch wenn die Antwort für die meisten Leute selbstverständlich ist, muss das nicht zwangsweise jeder wissen. und
man sich bei der Antwort "Mount Everest" auch mal leicht vertippen kann.
Daher wollte ich mal fragen ob vieleicht jemand ein paar Anreitze für mich hat, was man noch so für Fragen nutzen könnte.
4 Antworten
Immer gut kommen so Sachen wie "Welches Wort hjkha passt nicht hinein". Hab ich jedenfalls schon recht häufig gesehen. Davon kannst du ein paar mehr erstellen, irgendwann solltes nach dem 3ten oder 4ten auch der letzte D.epp (ich wurde gerade wirklich deswegen aufgefordert, anders zu schreiben? Und was ist mit unserem lieben Johnny? o.O) kapieren was gemeint ist ;)
Schön sind auch Fragen wie "welches der folgenden ist keine Farbe" "rot grün Hundekuchen blau weiß".
Da musst du dich nicht besonders anstrengen und die sind wirklich simpel zu lösen, zumal da die Lösungen nicht zu kurz oder zu lang sind (Eis bzw Mount Everest) und du zumindest in der ersten Variante noch die Möglichkeit hast, zufällige Buchstabenkombinationen anzugeben. Außerdem ist das nur abtippen, da sollte das mit der unterschiedlichen Schreibweise kein Problem sein.
Du kannst bei den zufällig generierten im ersten Beispiel noch einen kleinen Kniff anwenden: Fütter die Tabelle oder wie auch immer du die zu erstellen vorhast mit Worten einer anderen Sprache, Latein beispielsweise (aber wirklich welche, die eindeutig nicht passen). Das sollte es sowohl den Bots als auch menschlichen Knackern schwerer machen, das auf Anhieb zu erkennen, meine ich, statt willkürliche Buchstabenfolgen, die Menschen gleich erkennen und Maschinen anhand der Syntax einer Sprache (der Folge von Konsonanten zum beispiel) eventuell auslesen...
Ich wurde übrigens mit der Nase noch auf folgendes gestoßen:
Der Bot könnte wohl mit Hilfe einer dictionary die gegebene Antwort crawlen. Mit stellte sich dann die Frage, wie viel Bots wohl darauf ausgerüstet sind, aus einem Deutschen Captcha nicht deutsche Worte zu filtern, worauf keiner ne wirkliche Aussage hatte.
Zumal das natürlich durch ein weiteres Plugin im Bot wieder zu lösen wäre.
Mein Standpunkt ist da aber weiterhin: ein einzigartiges Captcha für eine einzige Website wird kaum jemand, der im großen Stile agiert extra als Plugin einpflegen, weils auf andere Seiten nicht anwendbar, es sei denn, es besteht ein persönliches Interesse an eurer Seite.
Zudem kam mein Duskussionspartner auf die Idee, die div id von Captcha auf was anderes zu ändern, beispielsweise blubberdiblub (meine Idee war "class" weil ein Bot durchaus untypische Begriffe filtern könnte, aber ich hab keine Ahnung ob "class" nicht ein keyword ist...) Das sollte dazu führen dass der Bot, der nach einer Captcha-id sucht keine findet und einfach aufhört, auf der Seite nach einem Captcha zu suchen.
Falls es jemandem gehen sollte wie meinem Kollegen: Mein Standpunkt bei meiner Antwort war die Nutzerfreundlichkeit bei den Argumenten "Captchas sind schlecht zu entziffern und beispielsweise Farbenblinde können manche von denen gar nicht erst lesen" und dem umstand, ohnehin was eigenes zu schreiben. Ich wollte nicht behaupten, sicherer sein zu können als Googles reCaptchas. Oder komplett barierefrei.
Du könntest auch verschiedene möglichkeiten als Antwort gelten lassen wie z.B, wenns jemand klein schreibt oder eben verschiede vertipper möglichkeiten.
Andere Idee wäre vilt. farben??? Eine farbe anzeigen lassen und der User muss in das Antwortfeld die Farbe hineinschreiben??
Andere Idee wäre vilt. farben???
Farbenblinde, Monitore welche eventuell einen Defekt haben, unterschiedliche Auffassungen wie man eine Farbe nennt (Cyan ist für viele einfach nur Blau)
mit den farben hab ich auch schon drüber nachgedacht, allerdings gibt es ja auch menschen, die z.B. eine Rot-Grün-Schwäche haben, oder ganz und gar Farbenblind sind, für diese Leute würde sich diese Möglichkeit dann doch ehr weniger gut eignen.
Also das erste wäre natürlich die Antwort intern komplett in Kleinbuchstaben abzugleichen.
Leerzeichen immer zu entfernen.
Dann könnte man jeden Buchstaben einzeln abgleichen, stimmen zB 80% ist das Ergebnis korrekt.
Schmeiß ein paar simple Matheaufgaben mit hinein, aber nicht in der Form "20+8" sondern "addiere 20 und 8" oder so etwas.
Ja, die Iedee ist schonmal gar nicht so schlecht, ich danke mal, wenn man anstelle der Zahlen dann nur Zahlworte schreibt ist es schon ganz gut. auf dein Beispiel übertragen würde das dann so aussehen:
"Addiere zwanzig und acht"
ich habe vor kurzem hier eine weitere idee gesagt bekommen. Diese hilft allerdings nur gegen automatische spambots, die nicht gezielt auf deine Seite abgestimmt sind.
Und zwar habe ich in die Formulare versteckte Felder eingebaut, die niemals für einen normalen user sichtbar sind. Eins dieser Felder heißt zum Beispiel message. Wenn nun der bot, dieses Formular erkennt und das Feld mit Inhalt mitsendet, kann ich mir sicher sein, das dies kein Mensch war. Hab mir dann über die Server-variable die Ip-adresse geholt und diese dann schlichtweg geblockt. Seitdem ist mit meinem knackbaren Captcha erstmal wieder Ruhe im Karton.
man beachte das style='display:none'
<tr id='message' style='display:none'>
<td>Nachricht *<br /></td><td><textarea style="width:500px; height:150px" name="message" rows="30" cols="70"></textarea></td>
</tr>
Ja so ein ähnliches System nutze ich auch. Ich habe über dem Input-Feld noch den Satz zu stehen "Dieses Feld MUSS leer gelassen werden." Für den unwahrscheinlichan aber möglichen Fall, dass "display:none" beim User nicht funktioniert (z.B. wenn css deaktiviert ist oder bei Nutzung eines exotischen Browsers). dazu gebe ich dem Input-Feld noch den namen "email", damit der Spam-Bot schön eine gefakte E-Mail-Adresse in das Feld reinschreibt und fertig. Ob es so sinnvoll ist sich die IP zu holen und zu blocken halte ich für fragwürdig ich persönlich bin der Meinung es reicht vollkommen, die gesendeten Daten einfach nicht weiter zu verarbeiten, wenn etwas in das Feld eingetragen wurde, da die mitgesendeten IP's viel zu leicht manipuliert werden können.
Das mit der einfachen Anti-Spam-Frage ist nur eine weitere Sicherheitsmaßnahme, die getroffen werden sollte, denn das von dir erwähnte Prinzip schließt zwar einen großteil der Bots aus, aber eben nicht alle.
ja, selbstverständlich nimmst du die anti-spamfrage mit rein. Mehrfach absichern ist immer besser als nur einfach absichern. Ich hatte vor kurzem das Problem, das sich bei mir im Gästebuch ein bot ausgetobt hat, der meinen Captcha ausgelesen hat. Habe mir dann zusätzlich diese kleine bot-falle gebaut. So ein Fragensystem wollte ich mir demnächst auch einbauen, hab aber erstmal was anderes zu tun.
Das is ja mal eine wirklich gute Antwort und dann auch noch mit so schönen Beispielen. Ich denke mal ich werde das alles in meine Datenbank mit reinnehmen. Recht herzlichen Dank.