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

Форум PHP

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

 

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

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

тема: Фильтр по IP-адресу!

Сообщения:  [1-10]   [11-14] 

 
 автор: NeO   (14.07.2006 в 19:39)   письмо автору
 
   для: Football   (11.07.2006 в 16:57)
 

и как же его переделать? =)

   
 
 автор: Football   (11.07.2006 в 16:57)   письмо автору
 
   для: NeO   (11.07.2006 в 16:37)
 

Понял в чем ошибка.
Вам видимо нужен был скрипт, который пускает, если IP входит в диапазон. А мой скрипт наоборот, запрещает, если IP в этот диапазон входит. В принципе, это очень похожие задачи, так что изменить скрипт надеюсь вам не соствит труда...

   
 
 автор: NeO   (11.07.2006 в 16:37)   письмо автору
 
   для: Football   (11.07.2006 в 10:17)
 

Вот.. Пишет что доступ запрещён...
диапазоны ip:
85.158.48.0 – 85.158.55.255
80.255.176.0 – 80.255.191.255

<? 

$ip
="80.255.178.***";  // IP адресс 
$ip_masiv_nachalo=array("85.158.48.0","80.255.176.0"); // Диапазоны начал 
$ip_masiv_conec=array("85.158.55.255","80.255.191.255"); // Диапазоны конец 

$count_masiv=count($ip_masiv_nachalo); // ну кол-во собственно 

$dostup=true// в начале доступ открыт 



for ($i=0;$i<$count_masiv;$i++) { // ну а далее понеслась проверка 
     
    
$ip_nachalo=explode(".",$ip_masiv_nachalo[$i]); 
    
$ip_conec=explode(".",$ip_masiv_conec[$i]); 
    
$ip_adress=explode(".",$ip); 
     
    if (
$ip_adress[0]<$ip_conec[0] and $ip_adress[0]>$ip_nachalo[0]) { 
    
$dostup=false
    } 
     
    if (
$dostup && $ip_adress[1]<$ip_conec[1] and $ip_adress[1]>$ip_nachalo[1]) { 
    
$dostup=false
    } 
     
    if (
$dostup && $ip_adress[2]<$ip_conec[2] and $ip_adress[2]>$ip_nachalo[2]) { 
    
$dostup=false
    }   
     
    if (
$dostup && $ip_adress[3]<$ip_conec[3] and $ip_adress[3]>$ip_nachalo[3]) { 
    
$dostup=false
    } 




if (!
$dostup) { 
echo 
"Пошёл отсюда"


?>

   
 
 автор: Football   (11.07.2006 в 10:17)   письмо автору
 
   для: NeO   (10.07.2006 в 21:44)
 

Лучше приведи пример, с ккоторым пускает, а я уж под него проверять буду

   
 
 автор: NeO   (10.07.2006 в 21:44)   письмо автору
 
   для: Football   (10.07.2006 в 20:26)
 

пускает с ip, который пускать не должно.... попробуй поставить ip не 100, а более нормальные.. если будет работать, то выложи еще раз плиз

   
 
 автор: Shorr Kan   (10.07.2006 в 21:06)   письмо автору
 
   для: Loki   (10.07.2006 в 19:38)
 

.

   
 
 автор: Football   (10.07.2006 в 20:26)   письмо автору
 
   для: NeO   (10.07.2006 в 20:14)
 

На локалке все работало. А что именно не работает? Что пишет?

   
 
 автор: NeO   (10.07.2006 в 20:14)   письмо автору
 
   для: Football   (10.07.2006 в 18:57)
 

у вы не работает :(

   
 
 автор: Loki   (10.07.2006 в 19:38)   письмо автору
 
   для: NeO   (10.07.2006 в 15:51)
 

http://softtime.ru/forum/read.php?id_forum=1&id_theme=5965&page=1
http://softtime.ru/forum/read.php?id_forum=1&id_theme=18722&page=1

   
 
 автор: Football   (10.07.2006 в 18:57)   письмо автору
 
   для: Football   (10.07.2006 в 18:28)
 

Вот, написал, вроде работает:


<? 

$ip
="100.100.100.350";  // IP адресс
$ip_masiv_nachalo=array("100.100.100.100","100.100.100.230"); // Диапазоны начал
$ip_masiv_conec=array("100.100.100.200","100.100.100.300"); // Диапазоны конец

$count_masiv=count($ip_masiv_nachalo); // ну кол-во собственно

$dostup=true// в начале доступ открыт

for ($i=0;$i<$count_masiv;$i++) { // ну а далее понеслась проверка
    
    
$ip_nachalo=explode(".",$ip_masiv_nachalo[$i]);
    
$ip_conec=explode(".",$ip_masiv_conec[$i]);
    
$ip_adress=explode(".",$ip);
    
    if (
$ip_adress[0]<$ip_conec[0] and $ip_adress[0]>$ip_nachalo[0]) {
    
$dostup=false;
    }
    
    if (
$dostup && $ip_adress[1]<$ip_conec[1] and $ip_adress[1]>$ip_nachalo[1]) {
    
$dostup=false;
    }
    
    if (
$dostup && $ip_adress[2]<$ip_conec[2] and $ip_adress[2]>$ip_nachalo[2]) {
    
$dostup=false;
    }  
    
    if (
$dostup && $ip_adress[3]<$ip_conec[3] and $ip_adress[3]>$ip_nachalo[3]) {
    
$dostup=false;
    }

}

if (!
$dostup) {
echo 
"Пошёл отсюда";
}

?>

   

Сообщения:  [1-10]   [11-14] 

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

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