no il concetto è il seguente:
diciamo che $_SERVER['REMOTE_ADDR'] dia un ip del tipo "10.10.10.123", la tua domanda è "ma 10.10.10.123 è della mia intranet?"
Ora, il problema lo sposti sulla intranet: "come faccio a capire che l'ip appartiente alla mia intranet?" una soluzione è dire "un ip appartiene alla mia intranet se appartiene ad una delle reti definite nella intranet". Quindi diciamo che la tua intranet è composta dalle seguenti reti:
10.10.8.0/24
10.10.9.0/24
10.10.10.0/24
10.10.11.0/24
dato lo script del link prima (che è il primo che ho trovato su google, del cui funzionamento non garantisco ma così ad occhio mi sembra corretto), un tuo codice potrebbe essere:
Codice PHP:
$clientIp = "10.10.10.123"; //da sostiturie con $_SERVER['REMOTE_ADDR']
$intranet = [
"10.10.8.0/24",
"10.10.9.0/24",
"10.10.10.0/24",
"10.10.11.0/24"
];
$result = false;
foreach($intranet as $range)
{
if(ip_in_range($ip,$range)){
$result = true;
break;
}
}
if($result){
echo "ip $ip in intranet";
}else{
echo "ip $ip non è in intranet";
}
per sapere quali reti costituiscono la tua intranet, il modo piu efficace è mappare nello script a mano tutte le reti (tramite file di configurazione? tramite inserimento dati via interfaccia web? leggendo da un db? ) perchè non puoi sapere a priori in maniera semplice dalla macchina su cui esegui lo script quali sono le reti della intranet
più o meno una cosa del genere.