Apache2: разрешить / запретить доступ к каталогу по времени в день

9

Допустим, у меня есть каталог, которым я хочу ограничить доступ таким образом, чтобы пользователи могли получить доступ к каталогу только с 6 утра до 6 вечера. Я знаю, как сделать это с помощью PHP (с помощью time()%86400). Но могу ли я сделать это полностью, используя встроенные функции Apache (.htaccess или server apache2.conf) или другие моды?

lkp111138
источник
1
Что если пользователи распределены по разным часовым поясам?
Джеральд Шнайдер

Ответы:

13

Вы можете запретить доступ к определенным каталогам в зависимости от времени, поместив следующий код в свой файл .htaccess в каталог, которым вы хотите управлять:

RewriteCond %{TIME_HOUR} ^(13|14|15)$
RewriteRule ^.*$ - [F,L]

Часы основаны на 24 часах в день (0-23), и каждый час, который вы хотите отказать в доступе, должен быть отделен «|».

В приведенном выше примере никто не мог получить доступ к каталогу с 13:00.

Энтони Форнито
источник