Abonniere die Beiträge von PinkPearl Info

EMail Adresse hinzufügen

Teile dich mit!

Verwende den Hashtag #ppiupdate in den Sozialen Medien (wie zum Beispiel Twitter), um Besucher auf deine Updates aufmerksam zu machen.
Mehr Infos...

Sonntag, 16. Februar 2014

Spam Kommentare verhindern

lulu
Erst neulich habe ich mir mal wieder die Kommentare zu den Tutorials auf PinkPearl angesehen und dachte dann nur: "Oh nein, nicht schon wieder!".

Spam Kommentare bei den Tutorials von PinkPearl

Trotz Captcha schaffen es irgendwie immer Spam in die Kommentare. Nicht mehr so viel wie früher, aber dennoch sehr nervig wenn man jeden Tag seine Tabellen durch sehen und die Kommentare von Hand löschen muss. Arbeit die man sich sparen und Zeit die man woanders invitieren kann, wie ich finde. Wer trotz Captcha das gleiche Problem wie ich hat, kann sich mit einem ganz einfachen Trick gegen diese Spam Kommentare schützen.



Das "unsichtbare" Feld

Unser Ziel ist es, sogenannte Bots davon abzuhalten, sinnlose Kommentare auf unserer Website zu hinterlassen. Dafür müssen wir die Bots von einem richtigen User unterscheiden. Und was kann ein User nicht? Genau! Ein nicht sichtbares Feld ausfüllen. Der Bot weiß natürlich nicht, dass es dieses Feld nicht wirklich gibt und füllt es aus. Und genau da geht er uns dann in die Falle.

Und das Ganze ist auch noch einfach und schnell realisiert! Öffnet eure PHP Datei in der sich das Formular befindet. Dieses Formular erweitert ihr nun um ein weiteres Feld - ich nenne es mal "firstname".
Hinweis: ihr solltet das Feld nicht "bot" oder so ähnlich nennen, denn einige Bots wissen dann schon was los ist und füllen das Feld nicht aus.
<input class="firstname" type="text" name="firstname" id="firstname" size="20" />

Das Ganze sieht dann also zum Beispiel so aus:



In meiner style.css definiere ich noch eine Klasse namens "firstname" und verstecke in dieser mein Feld, indem ich den z-index sehr niedrig setze (damit alle weiteren Elemente wie z.B. der Content darüber liegen). margin-top sorgt dafür, dass es keine Große Lücke im Formular gibt:

.firstname{
z-index: -1;
position: relative;
margin-top: -25px;
}


Wichtig ist auch, dass ihr all euren Feldern einen tabindex gebt. Das Feld "firstname" muss den letzen Tabindex haben (in diesem Fall die "7"). Auch der "submit Button" muss einen Tabindex bekommen, damit das neue Feld wirklich an letzter Stelle ist und der Besucher nicht aus versehen per "Tab" Taste auf das versteckte Feld kommt.

Einfach auf das Bild klicken um es "groß" zu sehen



Zum Schluss müssen wir nun noch vor dem Speichern das Feld prüfen. Dazu fügen wir dort, wo auch der captcha geprüft wird, einfach folgende Prüfung dazu:

$_POST['firstname'] == ""

Das Ganze sieht dann so aus:




Tja und das war´s auch schon!



Und das funktioniert?

Ihr könnt das Ganze nachdem ihr es bei euch hochgeladen habt natürlich auch testen. Dazu füllt ihr ganz normal die Felder eures Formulares aus. Wählt die Felder aber nicht mit eurer Maus an, sondern wechselt sie per "Tab Taste" eurer Tastatur. Habt ihr schließlich den captcha ausgefüllt und steht mit der Tab Taste auf dem "abschicken" (Sumbit) Button, drückt noch einmal Tab. Ihr befindet euch nun auf dem "unsichtbaren" Feld. Tippt jetzt einfach irgendwas ein (ein Buchstabe genügt schon) und drückt dann mit eurer Maus auf "abschicken". Wenn ihr alles richtig gemacht habt dürfte nun dieser Eintrag nicht in eurer Datenbank gespeichert werden.


Natürlich gibt es auch noch andere Möglichkeiten um Spam Kommentare zu verhindern. Habt ihr denn Interesse mehr darüber zu erfahren?
Bei Problemen oder Fragen könnt ihr hier gerne ein Kommentar hinterlassen oder mir eine Mail schicken.

3 Kommentare:

  1. Super Tutorial, Lulu.
    Kommt mir echt gelegen.

    LG Katjana

    AntwortenLöschen
  2. Tolles Tutorial. Werd ich mal bei Zeiten verwenden, sofern ich mir ein ACP nochmal anlache. xD Aber es ist sehr hilfreich für solche Leute ebend.Wobei es nicht bei Cutenews zu gebrauchen ist. (Für die Leute die es verwenden)

    AntwortenLöschen
  3. Werde ich wohl nicht hinkriegen, aber mal gucken .... danke jedenfalls, dass es gegen die 30 Spams pro Tag vielleicht doch ein Mittel gibt, wobei komischerweise diese nicht im Blog, sondern nur in meinem mail-Fach landen ....
    LG von stempellotta Annelotte

    AntwortenLöschen

Coprights @ 2016, Blogger Templates Designed By Templateism | Distributed By Gooyaabi Templates