PDA

Показать полную графическую версию : [решено] Ограничить доступ к страницам сайта


aragonds
21-03-2023, 10:16
День добрый! подскажите возможно ли как-то ограничить доступ к сайту на apache (wordpress). Подключен модуль \плагин Echo Knowledge Base.
Попробовал сделать через htaccess, но таким образом блокирует только страницы со статьями, а категории страниц Echo Knowledge Base не хочет, ни имеют вид ссылки http://сайт/?top-category=имя-раздела
RewriteEngine on
RewriteCond "%{REMOTE_ADDR}" "(ip....)"
RewriteCond %{REQUEST_URI} "(имя-имя)|(имя-статьи)"
RewriteRule ^.* - [F,L]

Если вбить имя раздела, страницу не блокирует, может можно как то сделать? или сделать чтобы с определенных ip или сегмента происходила переадресация с этих страниц на определенную

Sham
22-03-2023, 09:28
Мутная тема. Обработка запроса гуляет по конфигам и переменные могут меняться по нескольку раз. Вот THE_REQUEST (https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#rewriteengine:~:text=GET%20/index.html%20HTTP/1.1) не меняется.
наверное, что-то типа этого:
RewriteCond %{THE_REQUEST} "\s(?:\S*?(?:имя-имя|имя-статьи)\S*|/\?top-category=\S*)\s" [NC]

aragonds
24-03-2023, 09:07
Все получилось как хотел, спасибо! Остался один момент, возможно прописать диапазон разрешить только этим , а всем остальным запретить?
Например
RewriteCond "%{REMOTE_ADDR}" "(с 192.168.0.1 по 192.168.255.255 разрешить, а всем остальным запретить)"

Sham
24-03-2023, 16:35
вместо проверки REMOTE_ADDR лучше использовать выражения (https://httpd.apache.org/docs/2.4/expr.html#:~:text=%3CIf%20%22-,%2DR%20%27192.168.1.0/24%27,-%22%3E%0A%20%20%20%20Header)
RewriteCond expr "!-R '192.168.0.0/16'"то бишь если ip не соответствует подмаске, то rule выполняется.

aragonds
27-03-2023, 08:52
вместо проверки REMOTE_ADDR лучше использовать выражения »
Спасибо! Идеально




© OSzone.net 2001-2012