Bestimmte IP-Adresse sperren
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
bedenken
berechtigung
code
datei
einstellung
falle
frage
hoher wahrscheinlichkeit
inhalt
kontrollieren
nachricht
normalen internetzugang
ordner
setzen
sperre
sperren
teil
trennen
zugriff
-
Hey Leute,
ich wollte fragen wie ich eine ganz einfache IP Sperre für eine ganz bestimmte IP machen kann. Dass heißt diese IP soll keinen zugriff mehr auf meine Webseite haben, stattdessen soll dann so eine Meldung kommen \"Keine Berechtigung\" oder so. Geht um einen Spammer der meiner Seite nur schadet ...
Danke im Voraus
Erik -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo kuschelbaerche123,
das ist recht simpel.
Wenn deine Seiten in PHP angelegt sind, kannst du einfach überprüfen, ob die verwendete IP jene Ungewollte ist und in diesem Falle die Nachricht anzeigen, andernfalls den Inhalt der Seite.
Wenn du den Seitenkopf in einer eigenen Templatedatei gespeichert hast und den Fuß ebenfalls, ist es sogar sehr einfach, die Sache einzubinden...
Vor den Inhalt:
<?php $spammerips = array(\"193.201.52.41\", \"127.0.0.1\", \"85.25.152.188\"); //unwanted ips $ip = $_SERVER[\'REMOTE_ADDR\']; if(in_array($ip,$spammerips)){ echo \"Keine Berechtigung!\"; }else{ //Inhalt der Seite, blablabla... <?php } //end of ip blockage ?>
Ist nur dahingeschrieben, sollte aber so funktionieren...
Das Array kannst du auch irgendwo in einer externen Datei definieren und diese dann includen. So musst du, falls eine IP dazukommt, nicht jede Datei ändern. Wenn du den Header sowieso von extern einbindest, musst du das nicht tun.
Nutzt du eine Template-Engine, würde ich das Ganze vor dem Parsen des Templates einfach abfragen.
gruß
ferdinand24
Beitrag geändert: 29.6.2008 11:17:44 von ferdinand24 -
Hallo,
alternativ einfach eine .htaccess Datei in den Ordner legen...
# IP-Sperren setzen Order Deny,Allow Deny from xxx.xxx.xxx.xxx Allow from 127.0.0.1 Allow from all
Grüßle
Beitrag geändert: 29.6.2008 13:47:42 von scout -
Den Code von ferdinand24 kann man auch noch vereinfachen:
<?php $spammerips = array(\"193.201.52.41\", \"127.0.0.1\", \"85.25.152.188\"); //unwanted ips if(in_array($_SERVER[\'REMOTE_ADDR\'],$spammerips)){ die(\"Keine Berechtigung!\"); } //Inhalt der Seite, blablabla... ?>
lg
Vali -
Jedoch solltest du eins bedenken, sry wenn du dies gar nicht wissen wolltest, aber sollte der Spammer bzw. der Bot einen normalen Internetzugang wie fast jeder sterbliche :P dann solltest du bedneken das zu hoher wahrscheinlichkeit die IP ca. alle 24 std eine andere ist und so deine Sperre eventuell jeden Tag neu einzurichten wäre.
mfG
Chris -
Ich beobachte bei mir, dass ich irgendwie 2 oder 3 ip\'s hab, die immer wechseln. Das heist, er wird immer wieder gesperrt, und wenn du die 2 oder 3 IP\'s raus hast, dann kommt der nimmer rein.
-
Ja, kann ich mir leicht vorstellen. Du musst einfach direkt vor der Abfrage, ob man zu der Seite darf mitdem Befehl str_replace zu dieser IP machen, und die Seite ist für jeden gesperrt, die den selben Anfang der IP hat. Stimmt doch, oder hab ich einen Fehler gemacht?
-
Könnte man machen eine andere möglichkeit wäre ( ich befürchte eventuell auch die elegantere ) mit explode() und zwar sieht eine IP Adresse ja wie folgt aus XXX.XXX.X.X
Nun könnte man es mit explode bei jedem . trennen und somit in ein array schreiben vorteil
du kannst jeden teil mittels $array[teil] vergleichen und dann mittels
if($array[0]=="123" && $array[1]=="123"){
echo 'Du hast keinen Zutritt';
}
kontrollieren
Viel erfolg und gutes gelingen dabei
gruß Chris -
Wenn derjenige das 1. mal auf deine Seite kommt und der zugriff verweigert wurde würde ich vorschlagen dass ein Cookie gesetzt wird das diese Einstellung innehält;)
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage