IP-Sperre auf Webseite
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abschalten
angeben
besuch
besucher
code
datenbank
eintrag
erfahrung
erstellen
genanntem grund
http
leute
not
null
nutz
prinzip
setzen
sperre
url
webseite
-
Hallo,
ich möchte auf meiner Webseite eine IP-Sperre für mein Gästebuch erstellen, weil es immer vollgespammt wird.
Ich möchte aber so eine IP-Sperre erstellen, wo ein Besucher einen Gästebuch Eintrag schreiben kann, und dann für zwei Tage keinen mehr.
Ich habe aber keine ahnung wie ich sowas machen kann. Es währe schön, wenn ihr mit helfen könntet! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du musst einfach zu dem Eintrag noch die IP und den Timestamp speichern. Und die IP musst du dann bei jedem Besuch auf dem Gästebuch überprüfen und dem aktuellen Timestamp mit dem gespeicherten vergleichen. Aber du solltest auch irgentwo angeben, dass die IP gespeichert wird. Außerdem würde ich persönlich noch zusätzlich eine Sperre via Cookies einrichten. Ne IP ist schnell gewechselt, wenn man weiß, dass sie gespeichert wird. Aber derjenige weiß ja im Normalfall nicht, dass Cookies gespeichert werden.
Aber im Endeffekt ist das ganze trotzdem ziemlich unsicher -
Dazu lässt sich dieser Ansatz verwenden, wenn du wirklich anhand der IP sperren willst.
Aber wie bereits erwähnt wurde ist die IP-Sperre eine sehr unsichere Sache… wenn du z.B. hinter einer NAT sitzt sieht dein Server auch nur eine einzige IP die zufällig von z.B. 100 Leuten gemeinsam benutzt wird… -
bringt dir nichts, weil die leute über DSL in der Regel einen IP reset bekommen, wenn sie ihren Router neustarten... oder sie gehen über proxy...
aber ok, das problem löst du, in dem du in eine datenbank einfach eine tabelle anlegst nach folgendem Muster:
IP text PRIMARY not null
zeit timestamp not null
so, dann holst du dir über
$_SERVER['REMOTE_ADDR']
die IP des besuchers und speicherst sie mit dem timestamp ab.
das alleine wird aus oben genanntem Grund nicht reichen
deswegne solltest du noch ein cookie setzen, womit du schauen kannst, ob der browser schonmal gepostet hast
<?php setcookie("blocked","1",time()+(3600*48)); ?>
da fragst du einfach den wert des cookies ab
if ($_COOKIE['blocked'] != 1 && isset($_COOKIE['blocked']) { //code hier ausführen für GB Eintrag generieren }
wenn du beim seitenaufruf bei nicht vorhandenem cookie das cookie auf 0 setzt und dann abfragst, ob es da und gesetzt ist, kannst du verhindern, dass jemand über Cookie abschalten sich die möglichkeit ermogelt, weiter zu spammen. dann müssen cookies für die seite aktiviert werden, um GB einrag machen zu dürfen...
aber das prinzip kann man auch leicht in erfahrung bringen...
vielleicht doch noch zusätzlich mit einer session arbeiten... das kannst du bis in die unendlichkeit aufblasen
Beitrag zuletzt geändert: 30.10.2012 11:50:31 von sebulon -
php-test1 schrieb:
ich möchte auf meiner Webseite eine IP-Sperre für mein Gästebuch erstellen, weil es immer vollgespammt wird.!
Mit einer IP-Sperre wirst du wenig Glück haben! (Und ich spreche aus Erfahrung!)
Nutze lieber Fake-Felder in deinem Formular! (Darauf fallen die meisten SPAM-Bots rein!)
Hier ein Artikel von mir zu dem Thema: http://blog.wronnay.net/?p=208
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage