• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

IP Range (Bereich) sperren

Ron Wood

New member
Besucher aus einem bestimmten IP Bereich bekommen eine Sonderbehandlung.
Beispiel: 144.68.139.200 bis 144.68.141.209

Wie das mittels PHP mit IP Blöcken geht ( 156.99.212.xxx ec. ) ist mir klar.

Wie ich das für Bereiche, wie im Beispiel oben, umsetzen soll, da fällt mir nichts ein und ich finde auch nichts entsprechendes.

Bitte um Ideen...
 
du kannst den IP-String in 4 Teile zerlegen, dann hast du 4 Zahlen... da dich der dritte Bereich interessierst schaust du dann einfach ob $zahl3 <= 141 && $zahl3 >= 139 ist
 
Danke Leute.
Ich denke das wird weiterhelfen.
Hab die PHP Funktion wohl auch gefunden, konnte aber nichts anfangen damit.

Jetzt im Nachinein - das ganze scheint auch ohne diese "ip2long" Funktion zu funktionieren.
Ist in meinen Beispielen hier unten die "ip2long" Version zuverlässiger oder ist das egal ??

PHP:
<?php
if (isset($_SERVER['REMOTE_ADDR'])) $ip=$_SERVER['REMOTE_ADDR']; else $ip="0.0.0.0";

$code=ip2long($ip);

$low = ip2long('91.114.168.0');
$high = ip2long('91.115.255.255');

if($code <= $high && $code >= $low)
{
	echo "<br> IP: ".$ip." gehört zur IP Range der Telecom Austria.";
}
else
{
	echo "<br> Hallo Normalo...";
}
?>


<?php
if (isset($_SERVER['REMOTE_ADDR'])) $ip=$_SERVER['REMOTE_ADDR']; else $ip="0.0.0.0";

$low = "91.114.168.0";
$high = "91.115.255.255";

if($ip <= $high && $ip >= $low)
{
	echo "<br> IP: ".$ip." gehört zur IP Range der Telecom Austria.";
}
else
{
	echo "<br> Hallo Normalo...";
}
?>
 
ohne diese Funktion machst du halt eine Stringvergleich, das dürfte nicht richtig funktionieren. Dein Beispiel funktioniert, weil die ersten drei IP Nummern zufällig alle dreistellig sind.
 
Wobei der Punkt kleiner als alle Zahlen ist und damit eigentlich sich schon ein richtiges Ergebnis einstellen sollte.
 
Ist somit auf jeden Fall diesem Beispiel der Vorzug zu geben:
<?php
if (isset($_SERVER['REMOTE_ADDR'])) $ip=$_SERVER['REMOTE_ADDR']; else $ip="0.0.0.0";

$code=ip2long($ip);

$low = ip2long('91.114.168.0');
$high = ip2long('91.115.255.255');

if($code <= $high && $code >= $low)
{
echo "<br> IP: ".$ip." gehört zur IP Range der Telecom Austria.";
}
else
{
echo "<br> Hallo Normalo...";
}
?>


Ich bedanke mich recht herzlich !!
 
Zurück
Oben