PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Idee um GB-Spam zu bekämpfen



tas2580
27.04.2006, 05:37
Ich plage mich schon ziemlich lange mit Spam-Einträgen in meine Gästebuch rum, jeden Tag 10-20 Einträge mit Links zu Seiten die keiner braucht. Da ich besseres zutun habe als ständig den ganzen Schrott zu löschen und das natürlich auch nicht stehen lassen möchte hab ich mir überlegt wie man den Span effektiv bekämpfen kann.
Die einzige wirklich effektive Methode ist wohl so ein Bildcode, das möchte ich aber meinen Besuchern nicht antun weil mich die Dinger selber immer nerven. Also hab ich nach einer besseren Lösung gesucht, dabei habe ich erstmal alle IP-Adressen zu den Einträgen gespeichert und das mal eine Zeit lang ausgewertet. Eine Blacklist macht keinen Sinn weil die IPs zu verschieden sind und sich ständig ändern, also währe ich wieder ständig mit dem aktualisieren dieser Liste beschäftigt. Aber die IPs haben alle eins gemeinsam, von 817 Einträgen kamen gerade mal 3 aus DE und eine aus AT, also hab ich da angesetzt.

Ich prüfe beim Aufrufen der Gästebuchs an Hand einer IP-Datenbank aus welchem Land der Besucher kommt, wenn es nicht DE, AT oder CH ist muss man so einen Bildcode eingeben. Da meine Seite deutschsprachig ist, habe ich auch kaum Besucher aus anderen Ländern, so nerve ich meine echten Besucher nicht und Spambots haben keine Change mehr. Wer mir aus dem Urlaub was ins GB schreiben möchte muss halt so einen Code eingeben.

exe
27.04.2006, 11:01
Eine gute Idee. Ich werde versuchen die Idee hier mal einzubauen:
http://www.antispam-ev.de/forum/showthread.php?t=10403

Ins Wiki müsste der Eintrag glaub ich auch noch...

Wagenknechts
27.04.2006, 13:09
Ich bin hier weil ich auch im Gästebuch übel belästigt werde mit Sex-Eintragungen die zu einer erhöhten Linkpopularität beitragen sollen und dazu geführt haben dass ich das Gästebuch nun täglich mehrmals kontrollieren muss was sehr nervt und strafbar ist, da erotische Inhalte eingefügt werden.

Mad-Line
27.04.2006, 21:21
das einzigste was wirklich hilft ist eine Captcha abfrage in das gästebuch oder was auch immer einzubauen dann ist ruhe.

http://de.wikipedia.org/wiki/Captcha

:)

heinerle
27.04.2006, 21:50
das einzigste was wirklich hilft ist eine Captcha abfrage in das gästebuch oder was auch immer einzubauen dann ist ruhe.

http://de.wikipedia.org/wiki/Captcha

:)
Es gibt auch Methoden, die Bots auszusperren, indem z.B. die Verweildauer auf der Formularseite gemessen wird (die ist bei Bots meist <1s), der Aufruf der Eintragungsseite nur von der Formularseite aus erlaubt ist etc. (vgl. hier (http://www.antispam-ev.de/forum/showpost.php?p=57409&postcount=153)), die den normalen Gästebuchnutzer aber nicht "belästigen".

Lordred
28.04.2006, 19:12
Hallo erstmal!
Ich bin neu hier.

Ich dachte mir, ich poste mal gleich in diesen Thread, bevor ich einen neuen aufmache.

Schreibe gerade an einem Gästebuch für einen Clan, in dem ich Mitglied bin und bastel mir das aus vorgefertigten Scripts im Baukastensystem zusammen *g*
Leider sind wir schon länger Opfer von heftigen Spam-Attacken auf unser Gästebuch und darum will ich versuchen, das Gästebuch weitesgehend Spam-Sicher zu machen. Zumindest soweit ich kann, denn meine PHP Kenntnisse beschränken sich auf Schulwissen *oha*

Ich hab mich heute dann mal im Netz ein bichen schlau gemacht und einiges über Spambots - unseren natürlichen Feind - gelesen.

Dabei meine ich (bitte korrigiert mich wenn ich total danebenliege) mitbekommen zu haben, dass die Bots nicht immer den Weg über das Eingabeformular gehen, sondern direkt das Script, welches die Einträge letztendlich schreibt, anschmeißen und ihre Daten script-konform senden.

Hab mir was überlegt, wodurch der die ganze Gästebuchmaschinerie nur funktioniert, wenn wirklich das Formular aufgerufen wird.
(ist natürlich nur sinnvoll, wenn meine bisherigen Annahmen stimmen :o )

Und zwar lasse ich beim Formularaufruf (ist ne PHP-Datei) zum einen zwei Zufallszahlen generieren.
Zum anderen lasse ich eine Textdatei erstellen, die $randomzahl1.txt heißt und in die lasse ich $randomzahl2 schreiben.

Das Formular wird ausgefüllt und abgeschickt (mit beiden Random-Zahlen).
Das aktiviert das schreiben-Script.
Dieses öffnet die Textdatei. Liest die Zahl dort drin und vergleicht diese mit der übergebenen Variable $random2.

Natürlich wird dann nur der Gästebucheintrag geschrieben, wenn die Zahl, die aus dem Formular kommt mit der Zahl in der Textdatei übereinstimmt.
Und natürlich wird kein Eintrag erstellt, wenn erst gar keine textdatei erstellt worden ist! denn wo keine Textdatei, dort auch keine Zahl zum vergleichen.
Am ende wird die Textdatei dann natürlich noch gelöscht.

Somit ist erreicht, dass erstmal das Formular aufgerufen werden muss, bevor das SChreiben-Script aktiv werden kann.

(Das ganze ließe sich natürlich auch mit ner SQL-Datenbank machen, klaro)

Macht das Sinn oder ist das eher :dumb: ?


PS das Formular selbst muss natürlich auch noch spambot sicher gemacht werden, z.B. mit dem Bildcode oder so)

heinerle
28.04.2006, 19:30
...
Macht das Sinn oder ist das eher :dumb: ?

PS das Formular selbst muss natürlich auch noch spambot sicher gemacht werden, z.B. mit dem Bildcode oder so)
Lies Dir mal das im Post drüber verlinkte durch, da ist genau sowas beschrieben. Nur daß keine Zufalsszahlen verwendet werden, sondern Zeitangaben. Darüber kann man neben dem Zwang, über das Formular zu gehen, auch noch andere Dinge sicherstellen wie z.B. daß das Formular auch mindestens x Sekunden vor dem Abschicken angezeigt wurde etc.

Weitere Anregungen findest Du auch in diesem Thread (http://www.antispam-ev.de/forum/showthread.php?t=10322) (ganz lesen um einen Überblick zu bekommen), den kindischen Kleinkrieg dort solltest Du weltmännisch überlesen. :D

Wurgl
28.04.2006, 19:47
Zum anderen lasse ich eine Textdatei erstellen, die $randomzahl1.txt heißt und in die lasse ich $randomzahl2 schreiben.

Das Formular wird ausgefüllt und abgeschickt (mit beiden Random-Zahlen).
Das aktiviert das schreiben-Script.
Dieses öffnet die Textdatei. Liest die Zahl dort drin und vergleicht diese mit der übergebenen Variable $random2.


Funktioniert nur wenn wenige Besucher kommen. Ab einer gewissen Anzahl und bei einer kurzen Zufallszahl bz.w schlechtem Generator erzeugst du mehrmals eine Datei gleichen Namens und überschreibst dir damit die zuvor erstellte.

Lies vielleicht auch mal das hier:
http://www.ioerror.us/software/bad-behavior/

exe
29.04.2006, 08:32
Macht das Sinn oder ist das eher :dumb: ?
Grundsätzlich ist die Idee nicht schlecht. Der Aufwand den du treibst ist aber etwas hoch. Ich würde dazu Sessions verwenden:

PHP-Sessions (http://de.php.net/manual/de/ref.session.php)

Einfach eine Session starten eine Variable "x" in die Session einhängen. Im zweiten Skript prüfen ob "x" mitkommt. :)

Lordred
29.04.2006, 12:42
Hi!

Danke für die Antworten!

Erstmal @wurgl:
Nette Seite, nettes Modul, aber für mich noch etwas zu hoch *g*

@exe:
Sessions wären eigentlich ne nette Sache. Aber ich glaube dies werde ich erstmal nicht versuchen, damit ich keine LEute, die keine Cookies benutzen, aussperre. Aber sollten alle anderen Sachen nicht fruchten werde ich da vielleicht drauf zurückkommen.

@heinerle:
Nachdem ich (sehr weltmännisch) den Thread gelesen (und meine Theorie mit dem Direktaufruf des Schreiben-Scripts bestätigt :( ) habe, werde ich wohl versuchen Windwalkers Methode aufzugreifen.
Das Ablegen eines Timestamps mit IP Adresse scheint mir eine benutzerfreundliche und effektive Möglichkeit zu sein.
"Du hast kein Timestamp? Du stehst nicht auf der Gästeliste! Du kommt hier nicht rein!" :D

Ich denke, das müßte man doch eigentlich auch dann ganz bequem mit der Methode koppeln können, die Mindestzeit, die das Formular vor Aufruf des Schreiben-Scripts geöffnet sein muss, zu überprüfen.
Wenn der Timestamp im Moment des Schreibens noch nicht alt genug ist, dann... :skull:

Somit könnte ich dann sogar auf ein Captcha verzichten, was die Besucher bestimmt sehr begrüßen würden :)

Gruß,
Lordi

spamvamp
01.05.2006, 18:39
Ich bin neu angemeldet. Warum braucht Ihr ein Gästebuch? Das ist nicht gut. Adressen aus Gästebüchern werden für Spam geerntet.

Lordred
02.05.2006, 13:12
Gästebücher sind schön.
Man bekommt Feedback zu der Seite, man kann Grüße an ganze Clans schicken, ist ein nettes mittel zur einseitigen Kommunikation *g*

Und zum Thema Mail-Adresse:
Recht hast du! Da muss man aufpassen!
Man sollte seine Adresse nicht in das Formularfeld "Mailadresse" eintragen, außer man hat vorher herausgefunden, dass die Adresse maskiert wird, und sie lieber, wenn man eine Antwort möchte, in seinen Beitrag schreiben.
Zum Beispiel nach der Methode "spitzname(at)provider.de" oder "spietzname at provider.de" oder so ähnlich.
Wenn ich noch auf dem aktuellen Stand bin, dann suchen die Bots vor allem nach dem @-Zeichen.

Und wer selbst ein Gästebuch schreibt sollte möglichst eine FUnktion einbauen, dass die Email-Adresse vom @ befreit und so umgestellt wird, dass nur noch Menschen sie erkennen können.

Vor dem Missbrauch durch Spammer, die von Hand Gästebücher durchsuchen ist man leider bei einem Gästebuch nie gefeit, das stimmt leider.

Gruß,
Lordi

PS Danke dass du das Thema ansprichst, die funktion hab ich nämlich bei mir vergessen *ups*