2010-05-15 8 views
1

im la recherche d'un moyen de limiter ma page d'administration seulement ma propre plage d'adresses IPcomment restreindre une page à une seule plage d'adresses IP spécifiée en php

concider ma plage d'adresses IP est 215,67. .

donc en php je vais commencer par ceci:

$myip = "215.67.*.*"; 
$myip = explode(".", $my_ip); 

$userip = getenv("REMOTE_ADDR") ; 
$userip = explode(".", $userip); 

if ($myip[0] == $userip[0] AND $myip[1] == $userip[1] ) { 
    //Contunue admin 
} 

est-il un moyen plus efficace et plus professionnel pour le faire?

+0

Voir la section commentaire ici: http://pt2.php.net/manual/en/function.ip2long.php – Artefacto

Répondre

1
<?php 
function in_ip_range($ip_one, $ip_two=false){ 
    if($ip_two===false){ 
     if($ip_one==$_SERVER['REMOTE_ADDR']){ 
      $ip=true; 
     }else{ 
      $ip=false; 
     } 
    }else{ 
     if(ip2long($ip_one)<=ip2long($_SERVER['REMOTE_ADDR']) && ip2long($ip_two)>=ip2long($_SERVER['REMOTE_ADDR'])){ 
      $ip=true; 
     }else{ 
      $ip=false; 
     } 
    } 
    return $ip; 
} 
//usage 
echo in_ip_range('192.168.0.0','192.168.1.254'); 
?> 

Taken de http://www.php.net/manual/en/function.ip2long.php#81030