Как разрешить доступ к файлу только пользователям с ip, которые находятся в диапазоне IP-адресов?
Например, файл admin.php. и варьируются от 0.0.0.0 до 1.2.3.4.
Мне нужно настроить доступ только к одному файлу, а не к каталогу.
Как разрешить доступ к файлу только пользователям с ip, которые находятся в диапазоне IP-адресов?
Например, файл admin.php. и варьируются от 0.0.0.0 до 1.2.3.4.
Мне нужно настроить доступ только к одному файлу, а не к каталогу.
Просто добавьте FilesMatch или Files, чтобы ограничить его конкретным script.
Следующее будет блокировать доступ ко всем скриптам, заканчивающимся на "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.x.x.x, сделайте следующее:
<Limit GET POST>
order allow,deny
allow from 10
deny from all
</LIMIT>
Если вы используете WordPress, лучший и простой способ - установить плагин - LionScripts: WordPress IP Blocker со своего сайта 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
См. ответ здесь