Sexy Spamschutz
Montag, 3. Mai 2010, 9:01 Uhr | Autor: ich
Vor ca. einem Monat bin ich auf einen wirklich sehr guten Spamschutz in Form eines Plugin für WordPress gestoßen:
“Aus der Mindfactory: Slide2Comment – anti spam the sexy way” (mindworker.de)
Ist dieses Plugin installiert so muss der Besucher, der einen Kommentar hinterlassen möchte, kein Captcha oder eine Rechenaufgabe lösen, oder der sonst üblichen Methoden Spammer abzuwehren — er braucht nur einen Button anklicken und mit gedrückter Maustaste von links nach rechts schieben. Erst durch diese Aktion werden die Formularfelder der Kommentarfunktion sichtbar. Wer ein iPhone besitzt kennt diese Art der Aktivierung.
Damals gab es noch einen kleinen Bug, weshalb ich das Plugin nicht sofort hier eingebaut habe. Mittlerweile ist der Bug behoben und es ist auch noch die Funktion hinzugekommen den Button mit dem Mauszeiger ohne Klick zu bewegen. In dem Adminpanel, welches auch dazugekommen ist, gibt es neben dem ein- und ausschalten des Klicks, auch die Möglichkeit die CSS-Datei direkt im Backend zu editieren, damit der Slider den eigenen Wünschen angepasst werden kann.
Natürlich konnte ich es nicht lassen im Plugin selber etwas rumzupfuschen. ;O)
Der mitgelieferte quietschgrüne Slider war mein erstes Opfer, wobei ich auch die Hintergrundfarbe angepasst habe. Im PHP-Code ersetzte ich message: "Slide 2 Comment" durch message: "← schieben und kommentieren". Die jquery.min.js muss ich auch nicht zwingend von Google laden, da ich noch 56 kByte Webspace übrig hatte und Google nicht immer benachrichtigen möchte wenn ein Besucher auf meinem Blog ist.
Aus

ist nun

geworden.
Das Plugin kann direkt aus dem “Plugin Directory” von WordPress.org geladen werden. Bisher wurde “Slide2Comment” (wordpress.org) mehr als 600 Mal runtergeladen. Glückwunsch an den Plugin-Autoren Long Hoang und besten Dank für dieses tolle Plugin, von mir und allen Captcha-Hassern dieser Welt. :O)
Update: 10:56 Uhr
Plugin erstmal wieder deaktiviert und die alte Methode aktiviert, da der Erich (erich-kachel.de) gleich eine Lücke für Spammer gefunden hat. :O)
Da werde ich nun selber im Quellcode schauen müssen wie ich Spammer abhalten kann, denn nach wie vor hasse ich Captcha & Co.







Montag, 3. Mai 2010, 9:55 Uhr
Den verstehe ich nicht! Das Formular ist doch auf der Seite weiterhin vorhanden, nur sehen kann man es nicht. Und da es sich um WordPress handelt, kann ein Spammer auch blind wp-comments-post.php bedienen. So wie ich hiermit das Formular bei mir lokal ausfülle und absende. Sexy ist es ja…
(Manuell freigeschaltet und vervollständigt.)
Montag, 3. Mai 2010, 10:22 Uhr
Dein Kommentar wurde nur gleich mit
=]MARKED AS SPAM BY SLIDE2COMMENT[=markiert und als Spam in den entsprechenden Bereich verschoben. :O)Montag, 3. Mai 2010, 10:37 Uhr
Hmm… darf ich nochmal testen? Auch von local…
Montag, 3. Mai 2010, 10:43 Uhr
Mach, wenn Du doch ein Loch findest… Tja, dann fliegt es wieder raus. :O)
Montag, 3. Mai 2010, 10:45 Uhr
Mein Kommentar um 10:37 war bereits der Test ohne Slider von local! War da auch die Spam-Markierung?
Montag, 3. Mai 2010, 10:49 Uhr
Tja… Long Hoang… dann muss ich wohl doch mehr Anpassungen an deinem Quellcode vornehmen. :O)
Montag, 3. Mai 2010, 11:04 Uhr
Das Problem ist verzwickt… Im Moment setzt das Plugin nur einen Hashwert als “hidden” – und der ist immer gleich. Der Server muss ja ein Geheimnis “preis geben” und die Antwort des Client muss mit dem Geheimnis übereinstimmen. Was könnte das bei einem Slider sei? Die Länge des Sliders in Pixel?
Montag, 3. Mai 2010, 11:21 Uhr
Zur Zeit besteht der Hash aus
md5(get_bloginfo('url')). Ein Hash ausTimestamp+irgendetwaswäre besser, der dann aber nicht in einem Cookie stehen sollte. Na schauen wir mal, das dengel ich mir schon hin. Was nicht passt wird passend gemacht. :O)Montag, 3. Mai 2010, 13:14 Uhr
Kris,
spannend wird was Apple macht. Afaik ist das ein Patent von Apple und die haben da schon ein paar mal recht hart durchgegriffen.
Montag, 3. Mai 2010, 13:31 Uhr
Wer ist “Kris”? ;O)
Hast Du einen Link zum Patent von Apple?
Montag, 3. Mai 2010, 15:10 Uhr
Bitte bei Anregungen und Verbesserungsvorschläge ein Kommentar auf meinem Blog hinterlassen. Ich freue mich sehr, wenn ich Feedback bekomme, da es mein erstes WordPress Plugin ist.
In den to-Do’s steht schon, dass ich ein besseres Hashsystem haben will. Zudem will ich noch eine Methode entwickeln die noJS User auch ermöglich ein Kommentar zu schreiben (das ist bisher mein nächstes Ziel). Ich würde mich sehr freuen, wenn ich tolle Ideen bekomme
Gruß
Long
P.S. Kannst du (bzw “ich” oder wie auch immer
) mir eine Email-Benachrichtigung auf neue Comments einrichten? Ich benutze z.B. das hier:
http://wordpress.org/extend/plugins/gurken-subscribe-to-comments/
Montag, 3. Mai 2010, 16:18 Uhr
Zur Zeit habe ich noch nichts konkretes, um deinen Blog mit Kommentaren zu fluten und da das erwähnte bereits auf deiner ToDo-Liste steht, hat es auch keinen Nährwert für dich. :O)
Wenn ich mir dein Script genauer angeschaut und eine Lösung für das Hashproblem gefunden haben, dann gebe ich per Kommentar in deinem Blog Laut.
Ohne aktives JavaScript kann man schon jetzt Kommentare abgeben. Man muss nur den Hashwert des Blogs kennen und in ein eigenes Formular einfügen. Mit der Hackbar (addons.mozilla.org), ein Add-on für den Firefox, funktioniert das natürlich auch prima. ;O)
Du bist der erste Kommentator der bezüglich einer E-Mail-Benachrichtigung nachfragt. Mal schauen ob ich das Gurken-Script benutze… hört sich ja nicht so vertrauenswürdig an. ;O)
Dienstag, 4. Mai 2010, 10:07 Uhr
Nun ja, die Lösung kann schon aus theoretischen Gründen nicht in der Berechnung des Hash beim Client liegen. Wie auch immer man das macht, der Client-Code kann angeschaut und die Berechnung nachvollzogen werden. Wahrscheinlich macht sich kein Spammer die Mühe, den Code zu verstehen, solange das nicht lohnenswert ist – aber ein gleichwertiger Ersatz für Captchas ist das dann nicht.
Vorschlag: das Hintergrundbild des Sliders wird auf dem Server zur Laufzeit generiert und enthält an einer zufälligen Stelle zwei sichtbare vertikale Linien. Man ziehe jetzt den Slider soweit, bis er genau zwischen den zwei Linien ruht. Wenn die Position mit der vom Server vorgegebene (vorgezeichnete) übereinstimmt – mit einer gewissen Toleranz – war es ein Mensch (mit guten Koordinationsfähigkeiten).
PS: Der Slider lässt sich auf meinem G1-Touchscreen leider nicht schieben…
Dienstag, 4. Mai 2010, 11:16 Uhr
Ich habe den Code jetzt so hingedengelt das er mit aktivierten Cookies schon funktioniert. Der Server generiert einen Hash aus dem Timestamp der in
$_SESSION['zeuch']abgelegt und für das hidden-Feld benutzt wird. Wurde der Kommentar abgeschickt, so wirdzeuchfür den nächsten Kommentar neu generiert. Wenn ich nun noch die Spamschutz-Rechenaufgabe als Alternative aktiviert bekomme, wenn der Browser keine Cookies akzeptiert, dann kann ich den Slider hier wieder aktivieren.Das mit den vertikalen Linien hört sich gut an, aber dafür reichen meine Kenntnisse wohl nicht aus. Ich bin ja kein Programmierer. :O)
Ich kenne mich mit Touchscreens und Webanwendungen nicht aus. Kann es sein das die JavaScript-Events etwas anders verarbeitet werden als von einer Maus?