Apache2: permitir / impedir o acesso a um diretório por hora no dia

9

Digamos que eu tenho um diretório que quero restringir o acesso dessa maneira, para que os usuários possam acessar o diretório apenas entre as 6:00 e as 18:00. Eu sei como fazer isso usando PHP (usando time()%86400). Mas posso fazê-lo inteiramente usando as funções internas do Apache (.htaccess ou servidor apache2.conf) ou outros mods?

lkp111138
fonte
1
E se os usuários estiverem espalhados por diferentes fusos horários?
Gerald Schneider

Respostas:

13

Você pode negar o acesso a determinados diretórios, dependendo da hora, colocando o seguinte código no arquivo .htaccess no diretório que deseja controlar:

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

As horas são baseadas em 24 horas em um dia (0-23) e cada hora que você deseja negar o acesso deve ser separada com um "|".

No exemplo acima, ninguém poderia acessar o diretório das 13h às 13h.

Anthony Fornito
fonte