Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Общие вопросы > WEB-Программирование
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.04.2015, 21:31
Pcrepair Pcrepair вне форума
Новичок
 
Регистрация: 20.01.2015
Сообщения: 52
Версия Delphi: Pascal
Репутация: 10
По умолчанию

И вот что получилось :

PHP код:
<?php
//массив СИДР чиста для проверки работоспособности
$ip_array = array(
'192.168.0.0/24',    //доступ к серверу из ЛВС
'127.0.0.0/8'        //локальный хост
);

//текущий ИП-адрес посетителя
$cur_ip_adrr $_SERVER['REMOTE_ADDR'];

//функция определения вхождения ИП в СИДР, спасибо что подсказали
function ipCIDRcheck($ip$cidr) {
  list(
$net$mask) = explode('/'$cidr);
  return ( 
ip2long($ip) & (-1<<(32-$mask)) ) == ip2long($net);
}

//ЦИКЛ проверки вхождения текущего ИП в СИДРы
$flag false;
foreach(
$ip_array as $cur_cidr)
{
  if ((
ipCIDRcheck($cur_ip_adrr$cur_cidr)) == true
    {
$flag true; break;}  //при первом вхождении установить флаг и выйти из цикла
    
else
    {
/*может потом что то допишу*/}
}

if (
$flag == true)
  {echo 
'YES';}    //все отлично
  
else
  {echo 
'NO';}     //принмаем меры к нарушителю
?>

Теперь можно критиковать
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:52.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter