IP range + checker

Door Hipska BE, 19 jaar geleden, 5.061x bekeken

Hiermee kan je met de eerste functie een IP range maken door middel van een IP en een masker.

De tweede functie levert true als een gegeven IP-adres zich binnen een opgegeven range bevindt.

Gesponsorde koppelingen

PHP script bestanden

  1. ip-range-checker

 

Er zijn 3 reacties op 'Ip range checker'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Hipska BE
Hipska BE
19 jaar geleden
 
0 +1 -0 -1
iprange(); is te gebruiken in combinatie met bv een IP Ban script...

als je de 2 gereturnde IP's omzet in long en deze in een DB zet, dan kan je met deze SQL checken of het opgegeven IP gebanned is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$sql
="SELECT range,reden FROM ban WHERE ".ip2long($ip)." BETWEEN ip1 AND ip2";
// verdere verwerking...
?>


array(2) {
  ["range"]=>
  string(11) "192.168.*.*"
  ["reden"]=>
  string(11) "No acces via LAN"
}


Zoals je ziet doet deze SQL ongeveer hetzelfde als is_iprange();
P.S. past precies in een unsigned INT van MySQL, die is ook 4 bytes.
Stijn V
Stijn V
18 jaar geleden
 
0 +1 -0 -1
Om een IP range te tracen kan ook de erigi functie gebruikt worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
if(eregi('192\.168\.',$_SERVER['REMOTE_ADDR']))
{

echo 'binnen range';
}

else
{
echo 'buiten range';
}

?>
Hipska BE
Hipska BE
18 jaar geleden
 
0 +1 -0 -1
@Stijn V: Met dat script van jou heb je minder controle met betrekking tot subnetten en VLSM. Hier kan je namelijk enkel /8 /16 /24 of /32 ranges mee controlleren. Daarbij weet ik niet zeker wat het zou doen als je ip toevallig 81.192.168.25 zou zijn? Zit je dan binnen je range volgens eregi?

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. ip-range-checker

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.