phpbar.de logo

Mailinglisten-Archive

[php] Gefakte Formulareingaben unterbieten?

[php] Gefakte Formulareingaben unterbieten?

Ithamar Garbe php_(at)_phpcenter.de
Thu, 19 Jul 2001 21:57:22 +0200


Hallo zusammen,

wieder einmal beschäftigt mich eine Frage, für die ich noch keinen
Lösungsansatz gefunden habe:

Für eine Internet-Community habe ich eine Mitgliedsdatenbank erstellt,
bei der die User-Einträge von einem PHP-Skript mit Hilfe eines
Web-Formulars erzeugt werden. Das ganze läuft so ab:
Man geht auf die Registrierungsseite, trägt seine Daten ein und ein
Aktivierungslink wird dann per Mail an die angegebene Mailadresse
geschickt. Nachdem der Link besucht, und das Formular mit den restlichen
Angaben auf der Seite ausgefüllt worden ist, ist der Account aktiviert.
Wird der Aktivierungslink nicht innerhalb von 10 Tagen geklickt, werden
die Datenleichen aus der Datenbank entfernt. Da die User-ID aber ein
MySQL-auto_increment Feld ist, ist die ID umsonst vergeben.
Das ist an sich kein Problem, denn so etwas kommt vor.
Wovor ich allerdings etwas Angst habe, sind Leute, die eigene Skripte
entwerfen, um die Datenbank zuzumüllen, indem sie Formulareingaben
vortäuschen. Die Daten werden zwar wieder gelöscht, aber die IDs sind
nicht mehr verwendbar. Da ich aber eine feste Stellenanzahl benötige,
möchte ich solche Fakes verbieten (die schnell 10000 IDs in einer
Schleife anlegen können).

Was kann ich tun? Ich überprüfe zwar, ob die Mailadresse schon vorhanden
ist, aber man kann ja eine zufällig generierte entwerfen um den Schutz
zu umgehen. Auch eine beschränkte Anzahl an Accounts festlegen, die man
pro Session anlegen darf, ist im Prinzip sinnlos, wenn externe Tools
verwendet werden (z.B. wget), die keine Cookies akzeptieren...
Anhand der IP kann ich nicht gehen, da ich sonst mehrere User, die über
einen Gateway online gehen, aussperren würde...

Hat jemand ein ähnliches Problem schonmal gehabt / gelöst?

Es klingt zwar so, als würde ich unter Verfolgungswahn leiden, aber ich
kenne leider genügend Leute, die meinen, beweisen zu müssen, wie fit sie
im "Sicherheits-Loch"- Finden sind...
Und lieber etwas zu penibel, als später riesen Probleme zu bekommen...

Gruss,
Ithamar Garbe



php::bar PHP Wiki   -   Listenarchive