|
|
|
| Есть несколько IP
192.1.2.2-192.1.2.55
193.1.2.2-193.1.2.55
194.1.2.2-194.1.2.55
Как сделать чтобы при заходи с этих IP
писалось "IP определен" а с других "IP не определен"
Заранее блогадарю! | |
|
|
|
|
|
|
|
для: FialkO
(23.10.2007 в 19:44)
| | Запишите эти IP в массив, а потом проверяйте:
<?
if (in_array(IP, array)) //определено ; else...
|
| |
|
|
|
|
|
|
|
для: FialkO
(23.10.2007 в 19:44)
| | Определяйте подсеть с помощью деление+округление или функции работы со строками | |
|
|
|
|
|
|
|
для: Ralph
(23.10.2007 в 20:58)
| | А по конкретней можно? | |
|
|
|
|
|
|
|
для: FialkO
(23.10.2007 в 21:34)
| |
<?php
$ip[] = array('192.1.2.2', '192.1.2.55');
$ip[] = array('193.1.2.2', '193.1.2.55');
$ip[] = array('193.1.2.2', '193.1.2.55');
$current_ip = '192.1.2.10';
$current_ip = ip2long($current_ip);
for($i = 0, $in_range = false; $i < count($ip); $i++)
{
if( is_array($ip[$i]) )
{
if( $current_ip >= ip2long($ip[$i][0]) && $current_ip <= ip2long($ip[$i][1]) )
{
$in_range = true;
}
}
else
{
if( $current_ip == ip2long($ip[$i]) ) $in_range = true;
}
}
if( $in_range )
{
echo "IP определен";
}
else
{
echo "IP не определен";
}
?>
|
| |
|
|
|
|
|
|
|
для: Unkind
(23.10.2007 в 23:15)
| | Все вроде понятно, кроме строки: $current_ip = '192.1.2.10';
Поясните пожалуйста. | |
|
|
|
|
|
|
|
для: FialkO
(26.10.2007 в 14:30)
| | Текущий IP, то есть тот IP, о котором вы и хотите узнать - определен он или нет. | |
|
|
|
|
|
|
|
для: FialkO
(23.10.2007 в 19:44)
| |
<?php
function inRange($myIp, $ipFrom, $ipTo) {
$myIp = sprintf('%u', ip2long($myIp));
$tmp = $myIp & 0xff;
if (!$tmp || $tmp==255) {
return false;
}
$ipFrom = sprintf('%u', ip2long($ipFrom));
$ipTo = sprintf('%u', ip2long($ipTo));
if ($myIp>$ipFrom && $myIp<$ipTo) {
return true;
}
return false;
}
?>
|
[url]http://forum.dklab.ru/php/heap/FunktsiyaProverkiVhogdeniyaIpVDiapa zon.html[/url] | |
|
|
|