Bir gerçek IP adresine noktalı ondalık dönüştürmek için ip2long () kullanın. Sonra kolayca aralıkları yapabilirsiniz.
Sadece değerini almak için yüksek ve düşük aralığında () ip2long yok, sonra kod sabitler olarak kullanırız.
Eğer alt maskeleme aşina iseniz, bunu şöyle yapabilirsiniz:
// Deny 10.12.*.*
$network = ip2long("10.12.0.0");
$mask = ip2long("255.255.0.0");
$ip = ip2long($_SERVER{'REMOTE_HOST'});
if (($network & $mask) == ($ip & $mask)) {
die("Unauthorized");
}
Yoksa bu biçimde aşina iseniz 10.12.0.0/16:
// Deny 10.12.*.*
$network = ip2long("10.12.0.0");
$prefix = 16;
$ip = ip2long($_SERVER{'REMOTE_HOST'});
if ($network >> (32 - $prefix)) == ($ip >> (32 - $prefix)) {
die("Unauthorized");
}
Sen fonksiyonları içine bu çevirmek ve çok yönetilebilir kod var, kolay IP adreslerini ekleyin ve aralıkları özelleştirmek için yapım olabilir.