Was gegen Spam im GB tun
lima-city → Forum → Die eigene Homepage → Homepage Allgemein
ansehen
anzeigen
aufruf
benutzer
bild
buchstabe
button
daten
eintrag
formular
gstebuch
hinweis
mensch
methode
mglichkeit
schreibe
script
session
tabelle
vorschau
-
Seit kurzen spammt jemand andauernt meine Gästebuch mit Links zu irgenwelchen Pornoseiten zu. Ich dachte ja erst, dass das vielleicht ein Bot ist, deshalb habe ich jetzt so ein Sicherheitscode eingebaut, den man eingeben muss, damit der Eintrag angenommen wird. Aber es kamen schon wieder solche Einträge. Was kann man da machen, denn das ist echt lästig jeden Tag diese Einträge zu löschen.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
verwendest du einen Sicherheitscode, der als Bild angezeigt wird oder als normaler Text? Nur ein Sicherheitscode als Bild kann Schutz garantieren.
Jedoch kommt es auch drauf an, ob du session verwendest um den Code zu speichern oder Cookies usw.
Sag mal bitte bescheid, wie es bei deinem Gästebuch funktioniert, dann kann ich dir gerne weiterhelfen.
mfg,
hr -
Leider können einige Bots diese Sicherheitssperren umgehen.
Und wenn es kein Bot sein sollte dann solltest du die IP raussuchen und zur Pozilei gehen. -
Hi,
Leider können einige Bots diese Sicherheitssperren umgehen.
Und wenn es kein Bot sein sollte dann solltest du die IP raussuchen und zur Pozilei gehen.
Bots können auf keinen Fall Sicherheitscodes "knacken" wenn man das ganze sauber programmiert. IP sperrung nützt auch nicht viel, weil sich die von Benutzern immer wieder ändert.
mfg,
hr -
Irgendwo hab ich mal ein Programm gesehen dass die Sicherheitsbilder auswerten kann. Man müsste die Bilder sehr komplex gestalten, aber dann können selbst die Benutzer die Codes evtl. nicht mehr erkennen.
-
Also ich schreibe den Sicherheitcode per Zuallsgenerator auf ein Bild und übermittle ihn der anderen Seite dann per Session.
-
Hi,
Irgendwo hab ich mal ein Programm gesehen dass die Sicherheitsbilder auswerten kann. Man müsste die Bilder sehr komplex gestalten, aber dann können selbst die Benutzer die Codes evtl. nicht mehr erkennen.
Dies gibt es, das ist wahr. Jedoch werden solche Programme nicht von Bots benutzt. Ausserdem sind diese Programme meist auf bestimmte Bilder fixirt, dies heisst, dass es nicht jedes Bild erkennen kann, auch wenn es sehr einfach gestaltet ist.
Eine spezielle Schgriftart würde das Problem auch lösen.
hugo1990 schrieb:
Also ich schreibe den Sicherheitcode per Zuallsgenerator auf ein Bild und übermittle ihn der anderen Seite dann per Session.
Hmm, dann kann es nicht sein, dass es ein Bot ist ... evntl. hast du auch irgendwo eine Sicherheitslücke, mehr kann ich nicht sagen.
mfg,
hr -
Wenn es ein Bot ist, der dein Captcha umgehen kann, taugt entweder dein Script nichts oder du hast eines genommen, das auch von anderen oft verwendet wird. Damit ist es auch den Autoren von Spam-Bots bekannt und kann somit umgangen werden. Die meisten Captcha-Grafiken, die von solchen Scripts erzeugt werden, taugen sowieso nicht viel. Sie können maschinell oft besser ausgelesen werden, als von normalen Benutzern mit menschlichen Augen ...
Also ich schreibe den Sicherheitcode per Zuallsgenerator auf ein Bild und übermittle ihn der anderen Seite dann per Session.
Lass mich raten: Der Sicherheitscode ist Text in schwarzer Farbe auf einem bunten Hintergrundbild? Dann ist es wirklich einfach, den Text maschinell zu erkennen. Wenn schon, dann solltest du jeden Buchstaben des Codes in einer anderen Farbe darstellen.
Versuchs doch einfach mal mit einer simplen Vorschaufunktion:
Nach dem ersten Aufruf des Formulars führt der Submit-Button lediglich dazu, dass die gemachten Eingaben und das Formular noch mal angezeigt werden, mit dem Hinweis, dass es sich um eine Vorschau handelt. Erst hier würde ich auch den endgültigen Submit-Button anzeigen (und natürlich auch wieder den Vorschau-Knopf). So bekommen normale (menschliche) Besucher die Möglichkeit, eventuelle Schreibfehler zu korrigieren. Bots dagegen, die das nicht explizit prüfen, glauben, die Bestätigung für ihre Eintragung zu sehen. -
notfux schrieb:
Wenn es ein Bot ist, der dein Captcha umgehen kann, taugt entweder dein Script nichts oder du hast eines genommen, das auch von anderen oft verwendet wird. Damit ist es auch den Autoren von Spam-Bots bekannt und kann somit umgangen werden. Die meisten Captcha-Grafiken, die von solchen Scripts erzeugt werden, taugen sowieso nicht viel. Sie können maschinell oft besser ausgelesen werden, als von normalen Benutzern mit menschlichen Augen ...
Also ich schreibe den Sicherheitcode per Zuallsgenerator auf ein Bild und übermittle ihn der anderen Seite dann per Session.
Lass mich raten: Der Sicherheitscode ist Text in schwarzer Farbe auf einem bunten Hintergrundbild? Dann ist es wirklich einfach, den Text maschinell zu erkennen. Wenn schon, dann solltest du jeden Buchstaben des Codes in einer anderen Farbe darstellen.
Versuchs doch einfach mal mit einer simplen Vorschaufunktion:
Nach dem ersten Aufruf des Formulars führt der Submit-Button lediglich dazu, dass die gemachten Eingaben und das Formular noch mal angezeigt werden, mit dem Hinweis, dass es sich um eine Vorschau handelt. Erst hier würde ich auch den endgültigen Submit-Button anzeigen (und natürlich auch wieder den Vorschau-Knopf). So bekommen normale (menschliche) Besucher die Möglichkeit, eventuelle Schreibfehler zu korrigieren. Bots dagegen, die das nicht explizit prüfen, glauben, die Bestätigung für ihre Eintragung zu sehen.
Ok werd ich mal ausprobieren, das zu Programmieren. -
Moinsen ^^
nur eine kleine hilfe:
http://www.ochsenmeier-pc.de/scripts.htm
ich hatte mal ein ähnliches problem...die seite da hat geholfen !
gehört zu diesem gästebuch:
http://mylittlehomepage.net/codesammlung
MfG Trancer.
-
Ich hatte auch in letzter Zeit massive Probleme mit Gästebuch-Spam. Ich habe mit mehreren Wegen versucht, ihnen aus dem Weg zu gehen:
1. IP-Sperre: Nicht-Spambots (also quasi Menschen) können nur einen Eintrag machen, denn die IP wird danach gespeichert.
2. Eingabeformular mit JavaScript anzeigen (document.write()), denn die meisten Spambots können kein JS (manche jedoch schon).
3. "Verbotene" Zeichenfolgen, z.B. "a href" und "[URL]": Einträge, die diese Zeichenketten enthalten, landen in einer seperaten MySQL-Tabelle, die ich mit einem Klick leeren kann. Sollte mal ein Nicht-Spammer diese Zeichenfolgen verwendet haben, dann kann ich den Eintrag immer noch in die richtige Tabelle kopieren.
4. Die Datei "gaestebuch.php" (oder wie auch immer die bei dir heißt) darf nicht in den Google-Index (gehört also in die robots.txt)
5. Ein <input type="text" name="homepage">, den ich mittels CSS (display:none) ausgeblendet habe. Menschen können ihn nicht sehen, wird er jedoch von einem Bot ausgefüllt, so wird nichts gespeichert.
Bisher bin ich ohne Captcha ausgekommen: Von bis zu 5 Spameinträgen pro Tag bin ich durch diese Technicken auf mehr oder weniger 0 Einträge gekommen. In den letzten zwei Wochen hatte ich gar keine Spam-Einträge mehr.
Wer's sich ansehen möchte: http://sandrock-jonas.lima-city.de/sudoku/gaestebuch.php
und das JavaScript:
http://sandrock-jonas.lima-city.de/sudoku/js/gaestebuch.js
Beitrag geaendert: 6.1.2007 19:31:14 von sandrock-jonas -
Es gibt noch eine Möglichkeit, um die Bots wieder los zu werden. Normalerweise sind die URLs irgendwo in den Bot-Caches gespeichert und diese kommen dann natürlich immer wieder. Änder einfach mal die URL ab, so bin ich den Botspam auf meiner Homepage schon ziemlich oft los geworden.
-
Hi,
Ich hatte auch in letzter Zeit massive Probleme mit Gästebuch-Spam. Ich habe mit mehreren Wegen versucht, ihnen aus dem Weg zu gehen:
1. IP-Sperre: Nicht-Spambots (also quasi Menschen) können nur einen Eintrag machen, denn die IP wird danach gespeichert.
2. Eingabeformular mit JavaScript anzeigen (document.write()), denn die meisten Spambots können kein JS (manche jedoch schon).
3. "Verbotene" Zeichenfolgen, z.B. "a href" und "[URL]": Einträge, die diese Zeichenketten enthalten, landen in einer seperaten MySQL-Tabelle, die ich mit einem Klick leeren kann. Sollte mal ein Nicht-Spammer diese Zeichenfolgen verwendet haben, dann kann ich den Eintrag immer noch in die richtige Tabelle kopieren.
4. Die Datei "gaestebuch.php" (oder wie auch immer die bei dir heißt) darf nicht in den Google-Index (gehört also in die robots.txt)
5. Ein <input type="text" name="homepage">, den ich mittels CSS (display:none) ausgeblendet habe. Menschen können ihn nicht sehen, wird er jedoch von einem Bot ausgefüllt, so wird nichts gespeichert.
Bisher bin ich ohne Captcha ausgekommen: Von bis zu 5 Spameinträgen pro Tag bin ich durch diese Technicken auf mehr oder weniger 0 Einträge gekommen. In den letzten zwei Wochen hatte ich gar keine Spam-Einträge mehr.
Wer's sich ansehen möchte: http://sandrock-jonas.lima-city.de/sudoku/gaestebuch.php
und das JavaScript:
http://sandrock-jonas.lima-city.de/sudoku/js/gaestebuch.js
Beitrag geaendert: 6.1.2007 19:31:14 von sandrock-jonas
sehr interessant, was du hier erzählst. Auf diese Ideen wäre ich nicht wirklich gekommen, obwohl sie eigentlich sehr einfach aufgebaut sind. Ich nehme mal an, dass man mit Captcha-Bildern wirklich sehr viele oder alle Bots "blocken" kann, aber wenn deine (sandrock-jonas') Methoden funktionieren, ist dies natürlich bestens.
Klar könnte man noch die Gästebuchbeiträge über Email an den Benutzer des Eintrages bestätigen lassen, jedoch gibt es dann viele, die sich diese Mühe sparen und nicht ins Gästebuch schreiben - dies jedoch nur selten, nehme ich mal an. Daher wäre auch diese Methode relativ sinnvoll. Natürlich könnte man die Einträge erst auch anzeigen, wenn der Admin bzw. Webmaster die Einträge kontrolliert hat. Dies wäre wohl besser und effektiver.
mfg,
hr -
sehr interessant, was du hier erzählst. Auf diese Ideen wäre ich nicht wirklich gekommen, obwohl sie eigentlich sehr einfach aufgebaut sind.
Wo du das nochmal so betonst fällt mir noch was ein:
Die Techniken habe ich alle über Google gefunden. Ich musste sie halt nur noch selbst umsetzen. Einfach mal nach "Gästebuch Spam vermeiden" o.ä. googlen -
ich hab bei mir eine einfache E-Mail Aktivierung, allerdings existiert die Datenbank wo ich alle Daten meiner Seite gespeichert hatte nicht mehr :(
allerdings hat man dann auch keinen Spam mehr, es kann auch eine einfache Rechnung helfen ;) -
Meine Methode:
=> Anzeigen captcha.php als Grafik
==> Beim Aufrufen (beim Anzeigen) wird IP + Zufalls-CaptchaStr in DB gespeichert und ausgegeben (mit Strichen durch die Buchstaben)
=> Beim Absenden vom Formular
==> Überprüfen, ob eingegebene Buchstabenkombination = Der CapcthaStr aus der DB zu der IP des Besucher
===> Wenn ja => Eingabe erfolgreich, wenn nein => vertippt oder Bot.
Somit hat man weder Session, noch Cookie und bisher hat das gegen Spambots standgehalten. -
eine simple Frage stellen, paar Antwortmöglichkeiten aufzählen und das wärs :)
-
Ich habe das jetzt eingebaut, dass die IP gespeichert wird, von allen wird die gespeichert, aber ausgerechtnet bei dem Spammer nicht, wie ist das möglich. Und die Variante mit einem unsichtbaren Inputfeld geht auch nicht.
-
ich hab mir mal ein eigenes gästebuch geschrieben und hatte die gleichen probleme.nach ausgiebiger google suche habe ich erfahren dass captcha bilder einbinden kann. Ich persönlich empfinde das aber als lästig.
meine lösung:
überprüfung auf folgende strings:
$black_list = array('[url*]','[URL*]','[img*]','[IMG*]','URL=');
im formular selber steht noch folgendes:
<input type="hidden" name="time" size="9" value="<? echo time(); ?>">
wenn die daten gesendet werden folgt:
$abgeschickt = time();
$anfang = intval($_POST['time']);
$difference = (floatval($abgeschickt) - $anfang);
if (intval($difference) < $settings['spamschutz']) {wird nicht eingetragen}
$settings['spamschutz'] beträgt bei mir 20 sekunden, die verstreichen muss zwischen öffnen der seite und abschicken des formulars. seit diesem spamschutz ist mein gaestebuch spamfrei
h-brand
-
Hast du schonmal daran gedacht, dass der Spamer vielleicht gar nicht über dein Skript geht sondern die Daten auf anderem Wege speichert? Denkbares Szenario wäre z.B. eine für "Other" schreibbare Textdatei als Datenspeicher, wenn keine Datenbank verwendet wird...
Ich denke aber, dass das mit deinem Skript zu tun hat. Dein "Sicherheitscode" taugt jedenfalls nichts, einen Computer hält der nichtmal eine Sekunde lang auf. Da ist die Gängelung des Nutzers schlimmers ^^
Hast du schonmal was von OCR (Optical Character Recognition) gehört? Hab das grad selbst ausprobiert (nicht ein deinem GB, keine Angst), gocr erkennt die Zahlenkombination auf Anhieb und ohne Fehler. Ein Shellskript das stets den richtigen Code an den Webserver sendet, könnte in wenigen Minuten geschrieben sein ;)
MfG,
thw
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage