[PHP] Ist dieser Kontakt-Spamschutz sicher?

Nitream

Newbie
Registriert
Sep. 2007
Beiträge
7
Da mir ein Captcha-Schutz mit Bildern, wie man es fast überall antrifft, noch zu kompliziert ist und ich es nicht einfach von einer Seite kopieren möchte (auch wenn es gratis zur verfügung gestellt wird), hab ich einfach selber einen Spamschutz gegen Spambots erstellt!

dabei werden 3 Zufallszahlen generiert, welche danach über 3 dropdown-menüs ausgewählt werden müssen.
Aus meiner Sicht bietet das einen guten Schutz, da die Bots ja nicht wissen, was sie im Dorpdownmenü auswählen sollen und die Chance, dass sie genau die richtigen 3 zahlen wählen, ziemlich gering ist.

Nun wollte ich fragen, was ihr zu meiner Variante meint. Sicher oder unsicher?

Wer sich das nun nicht vorstellen kann, findet hier mein Kontakformular mit meinem Schutz:
http://martinschaub.ch/index.php?page=kontakt
 
Ein Bot würde das ja auch nicht per Dropdown-Menü auswählen sondern einfach die entsprechenden Felder abschicken.

Wenn du 3 Felder a,b,c hast und in jedem steht eine Ziffer, denke ich, dass klügere Bots das einfach aushebeln.
 
Eine sehr einfache, aber dennoch effektive Methode ist, einfach ein Feld mit Namen "email" und "betreff" zu setzen, diese aber als input type="hidden" unsichtbar zu machen und dann beim Abschicken fragen

if(!empty($_POST["email"]) AND !empty($_POST["betreff"]))
{
echo "Bot, hier geht`s nicht weiter ;)";
exit();
}
else
{
...
}

Weil der "normale" Mensch kann ja kein Feld ausfüllen, dass er nicht sieht, also lässt er es leer. Sind die unsichtbaren Felder dennoch ausgefüllt - und ein Bot tut das -, dann kommt eben die Meldung. Habe das mal auf irgendeinem Blog gelesen. Klingt logisch und ist einfach zu realisieren.

Ansonsten kannst Du z.B. auch noch die IPs in einer Text-Datei oder Datenbank hinterlegen und dann eine Sperre von 5min oder so setzen. Hilft ebenfalls vor unerwünschtem Spam bzw. reduziert ihn notfalls stark. Ansonsten noch mal das Prinzip des Capture-Code aufgreifen. :)
 
Leider kein guter Tipp mehr, da viele Bots mittlerweile versteckte "hidden" Felder ignorieren. ;)
 
Dann ist es immernoch im Quelltext vorhanden und es gilt das selbe.
/edit: falsch gedacht ;)

Aber wenn jemand gezielt spammen will schreibt er das "spam-tool" so, dass das auch kein Problem ist.
Es gilt also eine Methode zu benutzen, die nicht automatisiert werden kann, bzw. nicht ohne größeren Aufwand. Also etwas wie captcha...
 
Zuletzt bearbeitet:
Nein, das mit dem CSS ist die genau richtige Idee.

Man kann ein normales Input einbetten und es mit CSS für "normale" Besucher verstecken.

Ein Spambot sieht es aber als normales Inputfeld (CSS ist da egal) und füllt dieses auch aus - und ist damit in der Falle. ;)
 
@Adagio

Nein, das ist völlig sinnlos, wenn jemand speziell deine Seite spammen will und das Script genau für deine Seite programmiert. Das dürfte sogar der Standardfall sein, denn Scripts für mehrere Seiten müssten ja auf ein gleiches Schema ausgerichtet sein, also wie zum Beispiel eine bestimmte Forensoftware.
 
mit Captcha ist eine seite i.d.r. nicht mehr barriere frei.
will heissen: farbenblinde haben da meisstens probleme (auf manchen seiten braucht auch der nicht farbenblinde teilweise mehrere "neue grafik laden" versuche), und die menschen, die reine textbrowser haben, wie blinde, die haben da keine chance (abgesehen von der "vorlesen" methode, über die ich mich jetzt auch nicht weiter auslassen will ;))


was macht ein spambot mit checkboxen ?
füllt der die aus ?



was man auch machen könnte, währe ne kleine generierte einfache rechenaufgabe
sowas wie was ist "2+2" das ergebnis ist dann in ein feld einzutragen.
 
Macht genau aus dem gleichen Grund keinen Sinn. Computer können rechnen ;)

Die Aufgabe aus dem Quellcode zu lesen ist keine große Sache.

Am Sinnvollsten und Einfachsten ist imo in diesem Fall die IP-Sperr Methode.
 
Nein, das ist völlig sinnlos, wenn jemand speziell deine Seite spammen will und das Script genau für deine Seite programmiert.
Dann kennst du noch keine Spambots. Die grasen alle Websites und all deren Seiten ab, finden Formulare und füllen alle Felder aus. Dabei können diese sehr variabel und dynamisch programmiert sein.
 
Die meisten Bots werden eben nicht für genau eine Seite programmiert (oder angepasst), wer würde sich denn schon die Mühe machen, einen Bot für genau diese rivate Seite anzupassen?
Die funktionieren ähnlich wie Suchmaschinen-Bots, die grasen alles ab was sie finden.
Den Tipp, ein Feld via CSS zu verstecken, habe ich auch schon öfters hier empfohlen und bislang hat noch niemand das "Gegenteil" (also die Nicht-Funktion dieser Methode) behauptet.
Wobei es auch hier eine Frage der Zeit ist, bis sie auch auf solche Dinge "vorbereitet" sind, aber wird um CSS zu verstehen doch ein relativ "guter" Bot (also mit gutem HTML-Parser) benötigt...

Edit: @backslash: Das ist weder das sinnvollste, da uneffektiv, noch das einfachste...

Und allgemeines edit:
Was vielleicht helfen könnte wäre ein Fragenkatalog und eine zufällig daraus gestellte Frage mit z.B. 3 (oder auch mehr) Antwortmöglichkeiten (nach dem Kaliber "Welche Farbe hat Milch?" - "rot", "weiß", "blau"). Gegen Bruteforce müsste natürlch ein zeitlich begrenzter IP-Filter hinzugefügt werden, der IPs, welche z.B. 5 Fehlversuche innerhalb kurzer Zeit hatten, für eine Stunde komplett sperren, um so das "Nachforschen" zu erschweren...
 
Zuletzt bearbeitet:
Einen schönen Schutz bieten mehrere Bilder, von denen manche Feuer, andere Wasser zeigen. Also 3x3 Bilder und man soll alle Bilder anklicken, auf denen Feuer zu sehen ist (wird dann per javascrpt gemacht).
Wenn man dann nur den random-feed übergibt kann das empfangende script genau nachbilden an welcher Stelle Feuer war und die eingaben überprüfen.
 
Ein schöner schutz ist auch "Bitte geben sie hier das dritte Adjektiv aus nachstehendem Satz an" :P

Ich glaub kaum, dass irgendwer einen Spambot mit Grammatikparser bauen würde ;)
 
Und ich glaub kaum, dass alle ein Gehirn mit Grammatikparser eingebaut haben :lol:
 
pcw schrieb:
Ein schöner schutz ist auch "Bitte geben sie hier das dritte Adjektiv aus nachstehendem Satz an"
"Häh?, was´n dat"?
Autsch, da kann man nur hoffen, dass die Leute in der Schule aufgepasst haben. :D
 
Zuletzt bearbeitet: (Einen kleinen Fehler verbessert)
Zurück
Oben