Idee für SPAM-sicheres PHP-Formular

Moin,

meine Idee für ein Spam-sicheres Formular mit PHP z.B. im Bereich Gästebücher wäre folgende (ich hasse diese Captcha-Dinger):

Ein Skript, dass per Zufallsgenerator die Feldernamen generiert in die anschließend vom Benutzer die Informationen (Name, Email, Text,…) eingetragen werden, so dass keine automatisierten Einträge durch „Spam-Robots“ möglich sind.

Ich muss dazu sagen, dass ich PHP nicht beherrsche, aber mir diese Idee mal in den Sinn gekommen ist.

Ich bitte ums konstruktive Kritik zu dieser Idee.

thx
moe.

Hallo,

Ein Skript, dass per Zufallsgenerator die Feldernamen
generiert in die anschließend vom Benutzer die Informationen
(Name, Email, Text,…) eingetragen werden, so dass keine
automatisierten Einträge durch „Spam-Robots“ möglich sind.

Ich bitte ums konstruktive Kritik zu dieser Idee.

Das hört sich nach einer guten Nischenlösung an: solange das nicht zuviele machen funktioniert es.

Dummerweise kann ein Spammer sich aber die Reihenfolge der Formularelemente merken und das anstatt der Namen verwenden.

Oder er kann das einfach mit brute force durchprobieren - zumindest die wahrscheinlichen Kombinationen.

Oder zum beispiel in alle Textfelder, die nicht textarea sind, eine syntaktisch gültige E-Mailadresse schreiben und in die textarea die links.

Grüße,
Moritz (der letztendlich auch keine Lösung für diese Problem hat.)

Hallo,

Ein Skript, dass per Zufallsgenerator die Feldernamen
generiert in die anschließend vom Benutzer die Informationen
(Name, Email, Text,…) eingetragen werden, so dass keine
automatisierten Einträge durch „Spam-Robots“ möglich sind.

Ich bitte ums konstruktive Kritik zu dieser Idee.

Das hört sich nach einer guten Nischenlösung an: solange das
nicht zuviele machen funktioniert es.

Warum ist die Anzahl der Anwender ein Faktor?

Dummerweise kann ein Spammer sich aber die Reihenfolge der
Formularelemente merken und das anstatt der Namen verwenden.

Auch die Formular-Reihenfolge ließe sich randomisieren… dürfte aber nicht nötig sein wegen: siehe letzter Absatz.

Oder er kann das einfach mit brute force durchprobieren -
zumindest die wahrscheinlichen Kombinationen.

Prinzipiell ja, jedoch müsste diese Brute Force Attacke bei jedem Eintrag stattfinden. Dies dürfte eine erhebliche Schadensbegrenzung sein, da ja nicht unbegrenzt Rechenzeit zur Verfügung steht und ein Robot, der erst einige Minuten oder Stunden „Brute Force“ anwenden muss ist ja dann doch keine ernsthafte Bedrohung mehr, oder? Erschweren könnte die Brute Force Attacke: siehe letzter Absatz.

Oder zum beispiel in alle Textfelder, die nicht textarea sind,
eine syntaktisch gültige E-Mailadresse schreiben und in die
textarea die links.

Da könnte eine andere Methode wiederum hilfreich sein, die allerdings nicht von mir stammt, sondern die ich im Netz aufgegabelt habe: Unter die Formularfelder einige Felder mischen, die „hidden“ sind und nicht ausgefüllt werden dürfen. Der tatsächliche Benutzer kommt nicht in die Versuchung sie auszufüllen, da er sie ja gar nicht zu Gesicht bekommt und automatische Einträge würden den Robot entlarven. Das Skript könnte man dann einfach abbrechen, falls ein solcher Eintrag in ein „verbotenes Feld“ gemacht wurde.

Meine Hoffnungen auf den Stein der Weisen in Sachen Guestbook-Spam sind noch nicht zu Nichte gemacht.

Weitere Anfechter gesucht.

moe.

Hallo,

Das hört sich nach einer guten Nischenlösung an: solange das
nicht zuviele machen funktioniert es.

Warum ist die Anzahl der Anwender ein Faktor?

Weil die Zahl der Anwender/Anwendungen der Haupt-„Wirtschaftsfaktor“ eines Spammers sind. Wenn du 10Mio Webseiten mit solch einem Skript ausstattest, werden immer ausgefeiltere Technologien zum Einsatz kommen, um die Sicherheitsmaßnahmen auszuhebeln. Und ich glaube nicht, dass das System einer „intelligenten“ Attacke stand hält.

Dummerweise kann ein Spammer sich aber die Reihenfolge der
Formularelemente merken und das anstatt der Namen verwenden.

Auch die Formular-Reihenfolge ließe sich randomisieren…
dürfte aber nicht nötig sein wegen: siehe letzter Absatz.

Was aber wieder einen geringer Komfort beim Ausfüllen bedeutet

Oder er kann das einfach mit brute force durchprobieren -
zumindest die wahrscheinlichen Kombinationen.

Prinzipiell ja, jedoch müsste diese Brute Force Attacke bei
jedem Eintrag stattfinden. Dies dürfte eine erhebliche
Schadensbegrenzung sein, da ja nicht unbegrenzt Rechenzeit zur
Verfügung steht und ein Robot, der erst einige Minuten oder
Stunden „Brute Force“ anwenden muss ist ja dann doch keine
ernsthafte Bedrohung mehr, oder? Erschweren könnte die Brute
Force Attacke: siehe letzter Absatz.

Naja, wenn du Name, Email, Homepage und Message angeben willst, und message in einer textarea steckt, gibt es noch 3!=6 Möglichkeiten, Name, Email und Homepage zu permutieren. Wenn du jetzt auch noch annimmtst, dass du den Namen durch eine (pseudo)-Email ersetzen kannst, sind es nur noch 3 Möglichkeiten. Das Senkt die Effizienz der Spammer um 67%, aber erhöht auf deinem Server die Load (und den Traffic) gleichermassen.

Oder zum beispiel in alle Textfelder, die nicht textarea sind,
eine syntaktisch gültige E-Mailadresse schreiben und in die
textarea die links.

Da könnte eine andere Methode wiederum hilfreich sein, die
allerdings nicht von mir stammt, sondern die ich im Netz
aufgegabelt habe: Unter die Formularfelder einige Felder
mischen, die „hidden“ sind und nicht ausgefüllt werden dürfen.

Das Problem ist, dass auch das recht leicht zu parsen ist. Wenn der Browser das kann, kann der Spammer das auch können.

Meine Hoffnungen auf den Stein der Weisen in Sachen
Guestbook-Spam sind noch nicht zu Nichte gemacht.

Optimismus braucht das Land :wink:

Weitere Anfechter gesucht.

Reiche ich dir nicht aus? *bg*

Grüße,
Moritz

problem ist immer folgendes

sobald eine idee verbreitet ist, lockt sie spammer an
captcha,phpnuke,phpbb
alles weit verbreitete system
quelltext für jeden einsehbar

das sind sachen, wo sich spammer für interessieren

wenn du dir selber ein GB machst, kannst du von spamm-sicherheit schoin fast ausgehen, weil spammer nicht an einzelne leute denken, sondern nur, wie sie möglichst viele erreichen können