Как разрешить доступ к файлу только пользователям с ip, которые находятся в диапазоне IP-адресов?
Например файл admin.php. и варьируются от 0,0,0 до 1,2,3,4.
Мне нужно настроить доступ только к одному файлу, а не к каталогу.
Просто добавьте директиву FilesMatch или Files, чтобы ограничить его конкретным скриптом.
Следующее будет блокировать доступ ко всем сценариям, заканчивающимся на «admin.php»:
<FilesMatch "admin\.php$"> Order deny,allow Deny from all Allow from 10.0.0.0/24 </FilesMatch>
Следующие будут ТОЛЬКО блокировать admin.php:
<Files "admin.php"> Order deny,allow Deny from all Allow from 10.0.0.0/24 </Files>
Для получения дополнительной информации обратитесь к документам apache в разделах конфигурации .
проверьте справочную страницу Разрешенной директивы
Order Deny,Allow Deny from all Allow from 10.1.0.0/255.255.0.0
Частичный IP-адрес
Пример:
Allow from 10.1 Allow from 10 172.20 192.168.2
Первые 1 – 3 байта IP-адреса для ограничения подсети.
Пара сетевой / сетевой маски
Пример:
Allow from 10.1.0.0/255.255.0.0
Сеть abcd и сетевая маска wxyz. Для более мелкомасштабного ограничения подсети.
Спецификация сети / nnn CIDR
Пример:
Allow from 10.1.0.0/16
Как и в предыдущем случае, кроме маска сети состоит из nnn старших 1 бит.
Вы не можете сопоставить диапазон IP с помощью allow , но вы можете эмулировать его с несколькими сетями CIDR:
Order allow,deny # 0.0.0.0 - 0.255.255.255.255 Allow from 0.0.0.0/8 # 1.0.0.0 - 1.1.255.255 Allow from 1.0.0.0/15 # 1.2.0.0 - 1.2.1.255 Allow from 1.2.0.0/23 # 1.2.2.0 - 1.2.2.255 Allow from 1.2.2.0/24 # 1.2.3.0 - 1.2.3.3 Allow from 1.2.3.0/30 # 1.2.3.4 Allow from 1.2.3.4
Просто сделайте это для одного IP:
<Limit GET POST> order deny,allow deny from all allow from 1.2.3.4 </Limit>
Если вы хотите сделать это ради диапазона 10.xxx, сделайте следующее:
<Limit GET POST> order allow,deny allow from 10 deny from all </LIMIT>
Если вы используете WordPress, лучший и простой способ – установить плагин – LionScripts: Блокировщик IP-адресов WordPress со своего веб-сайта http://www.lionscripts.com/ip-address-blocker
Их профессиональная версия имеет гораздо больше возможностей, таких как блокирование страны и блокирование диапазона IP, загрузка csv навалом и т. Д.
если вы укажете подстановочный знак 0.0.255.255
Order allow,deny # 1.2.0.0 - 1.2.255.255 Allow from 1.2.0.0/16
Это даст диапазон от 1.2.0.1 – 1.2.255.254
вы также можете проверить здесь
Order Deny,Allow Deny from all Allow from 311.311.311 322.322.322.322
См. Ответ здесь