Рейтинг:0

Доступ к сайту на основе файлов cookie Apache

флаг fr

Я храню один файл cookie в файле и хочу ограничить доступ пользователей, у которых есть этот конкретный набор файлов cookie (с указанным именем), и перенаправить других (с любой страницы сайта) в корень моего сайта. Поскольку мой сайт использует серверную часть узла для аутентификации пользователей (т. Е. Для проверки пароля), я также хочу исключить его страницу proxypass («/authenticate») и любые «подстраницы», обрабатывающие ее.

Проблема, с которой я столкнулся при использовании таких «белых списков», заключается в том, что они, как правило, не охватывают весь сайт (включая поддомены) и не работают для каталогов, которые индексируются.

    Журнал ошибок ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log вместе

    SSLEngine включен
    SSLCertificateFile /etc/apache2/ssl/site.com.pem
    SSLCertificateKeyFile /etc/apache2/ssl/site.com.key
</ виртуальный хост>

<Виртуальный хост *:443> 
    имя сервера site.com
    Корень документа /var/www/site.com/html

    <Каталог /var/www/site.com/html/files>
        Опции +Индексы
       Разрешить переопределить все
    </Каталог>

    Прокси-запросы выключены
    ProxyPass/авторизовать http://localhost:3001
    ProxyPassReverse/авторизовать http://localhost:3001
</ виртуальный хост>

<Виртуальный хост *:443>
    Имя сервера movie.site.com
    Прокси-запросы выключены
    Проксипасс / http://localhost:3000/
    ProxyPassReverse/http://localhost:3000/
</ виртуальный хост>

<Виртуальный хост *:443>
  Имя сервера mail.site.com
  Корень документа /var/www/site.com/roundcube

  Журнал ошибок ${APACHE_LOG_DIR}/roundcube-error.log
  CustomLog ${APACHE_LOG_DIR}/roundcube-access.log вместе

  <Каталог /var/www/roundcube>
      Параметры - Индексы
      Разрешить переопределить все
      Порядок разрешить, запретить
      разрешить от всех
  </Каталог>
</ виртуальный хост>

Редактировать: Просто чтобы уточнить, я знаю, что могу сделать что-то вроде следующего, чтобы достичь того, что мне нужно (в некоторой степени):

RewriteEngine включен
RewriteCond %{HTTP_COOKIE} !MYCOOKIE
RewriteRule ^/myhome/content/ - [F]

Но как мне убедиться, что это повлияет на каждый VirtualHost (т. е. на каждый поддомен), а также прочитать один файл cookie из файла, чтобы я мог изменить его без перезапуска apache.

Спасибо!

флаг kz
«Я храню один файл cookie ** в файле **» — что вы имеете в виду «в файле»? Что вы пробовали? «и не работать для каталогов, которые индексируются» - нет причин, по которым это было бы так, если только вы не имеете в виду «кеш» поисковых систем (до того, как ограничение было введено)? Поисковые системы вообще не смогут получить доступ к контенту, если он ограничен с помощью файла cookie. Но разве ваша аутентификация (`/authenticate` или `/authorise`?) уже не ограничивает доступ?
Qubarf avatar
флаг fr
«Разве ваша аутентификация уже не ограничивает доступ?» - Я в замешательстве; было ли это предназначено для того, чтобы вызвать у меня разъяснение о том, как работал бэкэнд, поскольку, очевидно, он не ограничивает (и не может) доступ, поскольку сайт обслуживается apache, он просто устанавливает соответствующий файл cookie в браузере клиента, если он предоставлен с правильным паролем. Под «файлом» я подразумеваю «я сохраняю один файл cookie», читаемый моим бэкэндом узла, для установки в браузере клиента в файле на сервере. Я пробовал [это] (https://stackoverflow.com/questions/19932311/apache-dynamic-whitelist).
флаг kz
"...и любые "подстраницы", предшествующие этому." - Что имеется в виду под «подстраницами»?
Qubarf avatar
флаг fr
[Гм](https://en.wikipedia.org/wiki/Subpage) Но это очень незначительная деталь, вряд ли имеет значение?

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

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