come da titolo...
come posso incrementare una funzione che permetta la visualizzazione della pagina solo agli ip range che specifico e reindirizzare gli altri a un link esterno???
grazie a chi mi aiuterà--- :master:![]()
come da titolo...
come posso incrementare una funzione che permetta la visualizzazione della pagina solo agli ip range che specifico e reindirizzare gli altri a un link esterno???
grazie a chi mi aiuterà--- :master:![]()
Ho messo giù questo codice velocemente ma dovrebbe funzionare
E' più facile lavorare con gli ip in formato decimale
Codice PHP:<?php
//Indirizzo iniziale
$startip = "192.168.0.0";
// Indirizzo finale
$endip = "192.168.0.255";
//////////////////////////////////////////////////////
$startip = ip2long($startip);
$endip = ip2long($endip);
$ip = ip2long(getenv('REMOTE_ADDR'));
//////////////////////////////////////////////////////
if($ip >= $startip && $ip <= $endip)
{
// se è nel range
}
else
{
//se non è nel range
}
?>
se è nel range accede se no redirect a una pagina di default...quello come lo metto??? e se volessi mettere altri range come dovrei fare???Codice PHP:<?php
//Indirizzo iniziale
$startip = "192.168.0.0";
// Indirizzo finale
$endip = "192.168.0.255";
//////////////////////////////////////////////////////
$startip = ip2long($startip);
$endip = ip2long($endip);
$ip = ip2long(getenv('REMOTE_ADDR'));
//////////////////////////////////////////////////////
if($ip >= $startip && $ip <= $endip)
{
// se è nel range
}
else
{
//se non è nel range
}
?>
se è nel range accede se no redirect a una pagina di default...quello come lo metto???
Codice PHP:<?php
//Indirizzo iniziale
$startip = "192.168.0.0";
// Indirizzo finale
$endip = "192.168.0.255";
//////////////////////////////////////////////////////
$startip = ip2long($startip);
$endip = ip2long($endip);
$ip = ip2long(getenv('REMOTE_ADDR'));
//////////////////////////////////////////////////////
if($ip >= $startip && $ip <= $endip)
{
// contenuto pagina
}
else
{
Header("Location:pagina.php"); // redirect alla pagina desiderata
exit;
}
?>
e se volessi mettere altri range come dovrei fare???
Codice PHP:<?php
//Primo Range
$startip = "192.168.0.0";
$endip = "192.168.0.255";
// Secondo Range
$startip2 = "123.168.0.0";
$endip2 = "123.168.0.255";
//Terzo Range
$starti3 = "152.168.0.0";
$endip3 = "152.168.0.255";
//////////////////////////////////////////////////////
$startip = ip2long($startip);
$endip = ip2long($endip);
$ip = ip2long(getenv('REMOTE_ADDR'));
$startip2 = ip2long($startip2);
$endip2 = ip2long($endip2);
$ip2 = ip2long(getenv('REMOTE_ADDR'));
$startip3 = ip2long($startip3);
$endip3 = ip2long($endip3);
$ip3 = ip2long(getenv('REMOTE_ADDR'));
//////////////////////////////////////////////////////
if(($ip >= $startip && $ip <= $endip) AND ($ip2 >= $startip2 && $ip2 <= $endip2) AND ($ip3 >= $startip3 && $ip3 <= $endip3) )
// contenuto pagina
}
else
{
Header("Location:pagina.php"); // redirect alla pagina desiderata
exit;
}
?>
siccome lo vorrei inserire come include il fatto che apre la pagina giusta se l'ip è quello nella lista come lo imposto???
nessuno sa i range ip dei gestori di telefonia mobile come tim,voda,wind e 3 nelle connessioni wap e web???
Non capisco qual'è il problema tu includi il file sopra creato e poi lo paragoni con la variabile server $_SERVER['REMOTE_ADDR']
Ora è possibile passare alla funzione degli array contenenti l'ip di inizio e quello di fine, restituisce true se l'ip è contenuto altrimenti false:
Codice PHP:<?php
function inRange($startip,$endip,$ip)
{
$i=0;
$longip=ip2long($ip);
foreach($startip as $start)
{
$longstart = ip2long($start);
$longend = ip2long($endip[$i]);
//Se è nel range
if($longip >= $longstart && $longip <= $longend)
{
return true;
}
$i++;
}
return false;
}
?>