Рейтинг:1

Заблокируйте URL-адрес и его дополнительный URL-адрес с помощью Htaccess

флаг mx
Ben

у меня есть URL http://example.com/web/en/press-release/. Как я могу заблокировать доступ всех пользователей и просмотр этой страницы и http://localhost:10004/web/en/пресс-релиз/* с использованием .htaccess?

Я хочу, чтобы они были доступны только с определенных IP-адресов.

Мне это нравилось, но не работало.

# Пресс-релиз заблокирован
RewriteCond %{HTTP_REFERER} web/en/press-release/ [NC,OR]
Правило перезаписи .* - [F]
флаг jp
Ваша конфигурация выглядит так, будто вы изменили пример [предотвращения хотлинкинга](https://httpd.apache.org/docs/2.4/rewrite/access.html#blocked-inline-images), но это не имеет ничего общего с [контроль доступа](https://httpd.apache.org/docs/2.4/howto/access.html), который вы должны использовать.
флаг kz
Какая связь между `example.com` и `localhost:10004`?
Рейтинг:2
флаг jp

если ты должен использовать .htaccess файлы вы должны знать их ограничения:

.htaccess файлы (или «распределенные файлы конфигурации») обеспечивают способ для внесения изменений в конфигурацию для каждого каталога. Файл, содержащий одну или несколько директив конфигурации, помещается в конкретный каталог документов, и директивы применяются к этому каталог и все его подкаталоги.

Это означает, что вы управляете настройками на контейнеры файловой системы скорее, чем контейнеры веб-пространства, и конфигурация по умолчанию применяется ко всем подкаталогам. Поэтому для достижения своей цели вы должны разместить .htaccess файл на путь файловой системы, соответствующий пути URL /web/ru/пресс-релиз/.

Если /web/ru/пресс-релиз/ на обоих локальный: 10004 и пример.com относится к одному и тому же каталогу, и оба обслуживаются непосредственно из файловой системы с использованием Apache (т.это не обратный прокси), контекст файловой системы — хороший выбор. От Разделы конфигурации: что использовать, когда:

Выбор между контейнерами файловой системы и контейнерами веб-пространства на самом деле довольно легко. При применении директив к объектам, которые находятся в файловой системе всегда используйте <Directory> или же <Files>. При подаче заявления директивы для объектов, которые не находятся в файловой системе (например, веб-страница, созданная из базы данных), используйте <Location>.

Важно никогда не использовать <Location> при попытке ограничить доступ к объектам в файловой системе. Это потому, что много разных веб-пространств местоположения (URL) могут отображаться в одно и то же местоположение файловой системы, что позволяет ваши ограничения, которые нужно обойти.

Вместо использование mod_rewrite для управления доступом, Apache имеет прямое Контроль доступа директивы. Их использование более просто и упрощает чтение и управление вашей конфигурацией. Требовать Директива от mod_authz_core имеет IP:

Требовать ip 192.0.2.100
Требовать ip 198.51.100.0/24
Требуется IP-адрес 2001:DB8:C0F:FEE::/64

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.