Apache2: autoriser / interdire l'accès à un répertoire par heure du jour

9

Disons que j'ai un répertoire dont je veux restreindre l'accès de cette façon, afin que les utilisateurs puissent accéder au répertoire uniquement entre 6 h et 18 h. Je sais comment faire cela en utilisant PHP (en utilisant time()%86400). Mais puis-je le faire entièrement en utilisant les fonctions intégrées d'Apache (.htaccess ou apache2.conf du serveur) ou d'autres mods?

lkp111138
la source
1
Et si les utilisateurs sont répartis sur différents fuseaux horaires?
Gerald Schneider

Réponses:

13

Vous pouvez refuser l'accès à certains répertoires en fonction de l'heure en plaçant le code suivant dans votre fichier .htaccess dans le répertoire que vous souhaitez contrôler:

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

Les heures sont basées sur 24 heures par jour (0-23) et chaque heure dont vous souhaitez refuser l'accès doit être séparée par un «|».

Dans l'exemple ci-dessus, personne n'a pu accéder au répertoire de 13 h à 15 h.

Anthony Fornito
la source