Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: анализ IP-адреса

Сообщения:  [1-4] 

 
 автор: Poison   (11.01.2007 в 10:52)   письмо автору
 
   для: Poison   (11.01.2007 в 00:55)
 

БОльше не кто не поможет???:)))

   
 
 автор: Poison   (11.01.2007 в 00:55)   письмо автору
 
   для: Poison   (10.01.2007 в 23:28)
 

^

   
 
 автор: Sergey89   (11.01.2007 в 00:55)   письмо автору
 
   для: Poison   (10.01.2007 в 23:28)
 

Как-то давненько писал... Подделать немного и всё.
<?php
    $ip 
'192.278.56.123';
    
$mask '192.*78.5*.*';

    
$ms explode('.'$mask);
    for (
$i=0$i<count($ms); $i++) {
        if (
strpos('*'$ms[$i]) !== false) {
            
$s str_replace('*'''$ms[$i]);
            
$num 3-strlen($s);
            
$ms[$i] = str_replace('*''[0-9]{0,'.$num.'}'$ms[$i]);
        } else {
            
$ms[$i] = $ms[$i];
        }
    }

    
$mask implode('.'$ms);


    if (
preg_match('/'.$mask.'/'$ip)) {
        print 
'В диапазоне!';
    } else {
        print 
'Пока!';
    }
?>

   
 
 автор: Poison   (10.01.2007 в 23:28)   письмо автору
 
 

Решил написать скриптик хранящий доступные ip или наоборот для которох вход запрешен:))
Но вот есть проблемы, почемуто иногда пролетают ip недоступные и наоборот не проходят доступные:(((

В чем может быть проблема???


<?php 

/* ------------------------------------------------------------------------

------------------------------------------------------------------------ */
$access_ip[] = "-*.0.5.*4*"// '+' - Разрешен, '-' - Запрещен, '*' - Любой символ \\
$access_ip[] = "-82.240*.0.156"// '+' - Разрешен, '-' - Запрещен, '*' - Любой символ \\
$access_ip[] = "+*.0.5.*4*"// '+' - Разрешен, '-' - Запрещен, '*' - Любой символ \\
$access_ip[] = "-158.022.*5.158"// '+' - Разрешен, '-' - Запрещен, '*' - Любой символ \\
$access_ip[] = "+*2*.0.*.1"// '+' - Разрешен, '-' - Запрещен, '*' - Любой символ \\
$access_ip[] = "+82.20*.0.156"// '+' - Разрешен, '-' - Запрещен, '*' - Любой символ \\
/* ------------------------------------------------------------------------

------------------------------------------------------------------------ */
check_access_ip();
function 
check_access_ip() {
    global 
$access_ip;
    
$access_allow false;
    
$condition true;
    if (isset(
$_SERVER['REMOTE_ADDR'])) {
        
$test_ip = (strip_tags(trim($_SERVER['REMOTE_ADDR'])));
        foreach (
$access_ip as $user_ip) {
            
$condition = ((substr($user_ip0, -(strlen($user_ip)-1)) == "-") ? false true);
            
$user_ip str_replace("-"""$user_ip);
            
$user_ip str_replace("+"""$user_ip);
            
$user_ip explode(".", (trim($user_ip)));
            
$pattern = ("/^".(($user_ip[0] == "*") ? "[0-9]{1,3}" str_replace("*""\d"$user_ip[0]))."\.".(($user_ip[1] == "*") ? "[0-9]{1,3}" str_replace("*""\d"$user_ip[1]))."\.".(($user_ip[2] == "*") ? "[0-9]{1,3}" str_replace("*""\d"$user_ip[2]))."\.".(($user_ip[3] == "*") ? "[0-9]{1,3}" str_replace("*""\d"$user_ip[3]))."$/i");
//            echo "<pre>".$pattern."</pre>";
            
if (preg_match($pattern$test_ip)) {
                
$access_allow $condition;//(($condition) ? true : false);
                
break;
            }
        }
    } else {
        
$access_allow false;
    }
    if (!
$access_allow) {
//        header("location: http://".$_SERVER['HTTP_HOST']."/");
        
echo "Эээ доступ закрыт!!!!!!";
        exit();
    } else {
        echo 
"Ok проходи...";
    }
}

?>

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования