Apache2: Erlaube / verbiete den Zugriff auf ein Verzeichnis nach Tageszeit

9

Angenommen, ich habe ein Verzeichnis, auf das ich den Zugriff auf diese Weise beschränken möchte, sodass Benutzer nur zwischen 6:00 und 18:00 Uhr auf das Verzeichnis zugreifen können. Ich weiß, wie man das mit PHP macht (mit time()%86400). Aber kann ich das komplett mit den integrierten Funktionen von Apache (.htaccess oder Server apache2.conf) oder anderen Mods machen?

lkp111138
quelle
1
Was ist, wenn die Benutzer über verschiedene Zeitzonen verteilt sind?
Gerald Schneider

Antworten:

13

Sie können den Zugriff auf bestimmte Verzeichnisse je nach Zeit verweigern, indem Sie den folgenden Code in Ihrer .htaccess-Datei in dem Verzeichnis ablegen, das Sie steuern möchten:

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

Die Stunden basieren auf 24 Stunden an einem Tag (0-23) und jede Stunde, die Sie den Zugriff verweigern möchten, sollte mit einem "|" getrennt werden.

Im obigen Beispiel konnte niemand von 1-3 Uhr auf das Verzeichnis zugreifen.

Anthony Fornito
quelle