Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Запрет доступа по инетервалу IP
Форумы портала PHP.SU » Серверное администрирование » Apache и другие веб-серверы » Запрет доступа по инетервалу IP

Страниц (1): [1]
 

1. Okula - 27 Января, 2013 - 22:38:38 - перейти к сообщению
Возникла такая задача - запретить доступ к сайту по интервалу IP адресов.
Например с 213.155.0.168 до 213.155.0.175
Я делаю таким образом:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Order Deny, Allow
  2. Deny from 213.155.0.168/213.155.0.175

Правильно ли я указал интервал IP адресов?
2. KingStar - 27 Января, 2013 - 22:52:56 - перейти к сообщению
по моему нет, после слеша указывается маска
(Добавление)
и насколько я знаю - интервал нельзя указать Огорчение
3. EuGen - 27 Января, 2013 - 23:01:15 - перейти к сообщению
Okula пишет:
213.155.0.168/213.155.0.175

- так задавать интервал некорректно. Такая запись синтаксически правильна, однако после знака дроби ожидается маска сети, а не значение интервала. Поэтому, требуется указывать правильную маску (вероятно, в ряде случаев придется действовать перечислением)
4. Okula - 27 Января, 2013 - 23:03:50 - перейти к сообщению
EuGen, спс. На другом форуме мне предложили сделать так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. Order Allow,Deny
  2. Allow from all
  3. Deny from 213.155.0.168/29

Такой вариант тоже правильный будет?
5. KingStar - 27 Января, 2013 - 23:09:57 - перейти к сообщению
такой вариант правильный, т.к. здесь ты уже указал маску подсети
6. Okula - 27 Января, 2013 - 23:11:32 - перейти к сообщению
KingStar, а как расчитывается эта маска? Видел на каком-то форуме пример расчёта, но так и не смог понять. Там считали в двоичном коде.
7. KingStar - 27 Января, 2013 - 23:11:39 - перейти к сообщению
вернее её длину
(Добавление)
вычислить самому сложно, найди в инете калькулятор
(Добавление)
Сетевой калькулятор Подмигивание
(Добавление)
ну вот например нашел то, что тебе нужно

http://ip-calculator[dot]ru/
8. Okula - 27 Января, 2013 - 23:22:41 - перейти к сообщению
KingStar, спасибо Улыбка
9. KingStar - 27 Января, 2013 - 23:24:42 - перейти к сообщению
плиз Подмигивание
10. EuGen - 28 Января, 2013 - 08:08:10 - перейти к сообщению
Маска расчитывается, исходя из приципа
HOST & MASK = NETWORK
То есть если маска 255.255.255.0, сеть 192.168.10.0, то удовлетворять условию выше будут хосты 192.168.10.1 - 192.168.10.255
Разумеется, для более наглядного применения маски нужно приводить адреса хостов и маску в двоичный вид. Для этого нужно учитывать, что в IPv4 адресах есть 32 бита, а точками условно отделяются октеты.
Если маска указана числом, то оно означает число ненулевых бит слева (маска всегда неразрывна). Пояснить можно так:
Исторически сложились "классы" сетей - A,B,C - для масок длины 8,16 и 24 соответственно. Но с развитием эпохи Internet стало ясно, что такая классификация слишком расточительна, поэтому стали применяться маски другой длины - для выделения более ограниченных блоков адресов. Потому и существует CIDR (бессклассовые адреса) - когда маска не кратна 8. Работает это так же - от начала адреса откладываются N бит маски.

 

Powered by ExBB FM 1.0 RC1