User IP ind Datenbank speichern
Häufig ist es sinnvoll, die IP des Nutzers für bestimmte Aktionen abzuspeichern. Hat man zum Beispiel eine Voting-Möglichkeit auf seiner Seite und möchte man einen Missbrauch vermeiden (ein User legt sich 10 Accounts an und votet für ein und denselben Artikel, z.b. Yigg.de), so macht es Sinn für jeden Vote die IP des Users mit abzuspeichern (Datenschutzerklärung nicht vergessen).
Die IP läßt sich ganz einfach ermitteln:
echo $_SERVER['REMOTE_ADDR'];
Zum speichern der IP in der Datenbank kann man nun ein Varchar-Feld anlegen, welches 15 Zeichen fassen kann (für jede Stelle max. 3, bei 4 Stellen = 12 Zeichen + die 3 Punkte = 15 Zeichen). Doch wenn man stattdessen den Feldtyp INT mit unsigned verwendet, spart man nicht nur Speicherplatz, sondern macht es möglich gewiße IP-Ranges zu durchsuchen.
Nun kann man die IP natürlich nicht einfach so im INT-Feld abspeichern, daher müssen wir die IP mittels
echo ip2long($_SERVER['REMOTE_ADDR']);
noch konvertieren. Somit läßt sich dann ganz einfach vor dem eintragen des Votes prüfen, ob von der jeweiligen IP innerhalb der letzten Minuten schonmal ein Vote für ein spezifisches Objekt stattgefundet hat. Eine Rückkonvertierung ist mittels “long2ip” möglich.
siehe dazu auch: [MySQL] IP-Adressen speichern
Verwandte Artikel
- Achtung Hacker! - Maßnahmen zum Schutz der Datenbank
- Datenbank Backup via Cronjob und Wordpress
- Webdesign Guide - User-Modul: Registrieren
- User optimierter Content - wie schreibt man qualitativen Content
- Plugin-Optimierung - related posts
3 Kommentare
Tut mir leid, die Kommentarfunktion für diesen Beitrag ist geschlossen.

Wobei man sagen muss, dass nicht jeder User eine feste IP hat. Es ist durchaus möglich, dass User B die gleiche IP zugewiesen bekommt nachdem User A offline gegangen ist.
Ja, da hast du natürlich recht. Ich denke ein 100% sicheres Verfahren gibt es nicht (schließlich kann man sonst auch einfach 10 Freunde fragen, das sie voten). Wenn man den IP-Abgleich noch mit einem Reputationssystem koppelt (User mit hoher Reputation haben mehr Einfluß) kann man sicher noch mehr erreichen.
Außerdem sollte man solche “IP-Sperren” nur sehr vorsichtig einsetzen, da oft auch mehrere Nutzer dieselbe IP haben.WGs, Firmennetze, Hotpsots und Funknetze vergeben an einzelne Nutzer KEINE eindeutige IP.
Wegen dem Datenschutz:
Von Datenschützern wird empfohlen die IP nur als Hash zu speichern.