Подтвердить что ты не робот

Htaccess доступ к файлу по ip-диапазону

Как разрешить доступ к файлу только пользователям с ip, которые находятся в диапазоне IP-адресов?

Например, файл admin.php. и варьируются от 0.0.0.0 до 1.2.3.4.

Мне нужно настроить доступ только к одному файлу, а не к каталогу.

4b9b3361

Ответ 1

Просто добавьте 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 на Разделы конфигурации.

Ответ 2

проверьте справочную страницу директивы Разрешить

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 битов.

Ответ 3

Вы не можете сопоставить диапазон 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

Ответ 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>

Ответ 5

Если вы используете WordPress, лучший и простой способ - установить плагин - LionScripts: WordPress IP Blocker со своего сайта http://www.lionscripts.com/ip-address-blocker

Их профессиональная версия имеет гораздо больше функций, таких как блокирование страны и блокирование диапазона IP, загрузка csv навалом и т.д.

Ответ 6

если вы укажете подстановочный знак 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

вы также можете здесь проверить

Ответ 7

Order Deny,Allow
Deny from all
Allow from 311.311.311 322.322.322.322

См. ответ здесь