|
|
|
| Доброго времени суток.
Наример имеем 2 диапазона адресов:
192.168.22.0 - 192.168.22.255
192.168.23.0 - 192.168.22.135
мой IP адрес к примеру 192.168.22.135
Нужен скрипт, который проверял бы принадлежность моего адреса к этим диапазонам и если он входит в эти диапазоны то писал бы: ваш IP адрес: $ipadress, вы из нашего сегмента.
Если не входит то: ваш IP адрес: $ipadress Вы не из нашего сегмента.
заранее спасибо за помощь :) | |
|
|
|
|
|
|
|
для: LordFreeman
(07.02.2007 в 12:36)
| | Так обычными циклами, если я правильно понял суть вопроса. | |
|
|
|
|
|
|
|
для: LordFreeman
(07.02.2007 в 12:36)
| | Преобразовать с помощью функции long2ip твой ип и начальные/конечные адреса диапазонов и сравнить.
if (($myIp>=$dStart1 or $myIp<=$dEnd1) or ($myIp>=$dStart2 or $myIp<=$dEnd2)) {
} | |
|
|
|
|
|
|
|
для: tuder
(07.02.2007 в 13:03)
| | а как преобразовывать подробнее скажите пожалста :)
PS
<?php
$myIp=$_SERVER['REMOTE_ADDR'];
$dStart1="87.224.149.1";
$dEnd1="87.224.149.255";
$dStart2="87.224.150.1";
$dEnd2="87.224.150.255";
if (($myIp>=$dStart1 AND $myIp<=$dEnd1) or ($myIp>=$dStart2 AND $myIp<=$dEnd2)) {
echo "твой IP-adress:$myIp, ты из нашего сегмента";
}
else
{
echo "твой IP-adress:$myIp, ты не из нашего сегмента";
}
?>
|
все, заработало, спасибо
Надо было исправить только or на AND в 2 местах )) | |
|
|
|
|
|
|
|
для: LordFreeman
(07.02.2007 в 13:47)
| | Кажется не очень правильный способ...
Здесь сработает
14.35.66.40
14.38.49.11
А здесь?
560.20.4.360
3.6.70.9
Точки то, точки... | |
|
|
|
|
|
|
|
для: bronenos
(07.02.2007 в 20:11)
| | непонял | |
|
|
|
|
|
|
|
для: LordFreeman
(07.02.2007 в 20:53)
| | че непонятно
сервер сравнивает это не как числа через точку, а как знаки которые идут по очереди
мне кажется ет не совсем правильный способ... | |
|
|
|
|
|
|
|
для: LordFreeman
(07.02.2007 в 13:47)
| | >а как преобразовывать подробнее скажите пожалста :)
http://php.net/long2ip
http://php.net/ip2long | |
|
|
|
|
|
|
|
для: LordFreeman
(07.02.2007 в 13:47)
| | >а как преобразовывать подробнее скажите пожалста :)
$myIp=ip2long($_SERVER['REMOTE_ADDR']);
$dStart1=ip2long("87.224.149.1");
$dEnd1=ip2long("87.224.149.255");
$dStart2=ip2long("87.224.150.1");
$dEnd2=ip2long("87.224.150.255");
|
>Надо было исправить только or на AND в 2 местах ))
Конечно. Лопухнулся я. :-) | |
|
|
|
|
|
|
|
для: tuder
(08.02.2007 в 10:16)
| | >>а как преобразовывать подробнее скажите пожалста :)
>
>
>$myIp=ip2long($_SERVER['REMOTE_ADDR']);
>$dStart1=ip2long("87.224.149.1");
>$dEnd1=ip2long("87.224.149.255");
>$dStart2=ip2long("87.224.150.1");
>$dEnd2=ip2long("87.224.150.255");
>
|
>
>>Надо было исправить только or на AND в 2 местах ))
>Конечно. Лопухнулся я. :-)
Большое спасибо | |
|
|
|