Apache2: อนุญาต / ไม่อนุญาตการเข้าถึงไดเรกทอรีตามเวลาในวันที่


9

สมมติว่าฉันมีไดเรกทอรีที่ฉันต้องการ จำกัด การเข้าถึงด้วยวิธีนี้เพื่อให้ผู้ใช้สามารถเข้าถึงไดเรกทอรีได้เฉพาะในเวลา 06.00 น. ถึง 18.00 น. ฉันรู้วิธีการทำเช่นนี้โดยใช้ PHP (ใช้time()%86400) แต่ฉันสามารถทำได้ทั้งหมดโดยใช้ฟังก์ชัน builtin ของ Apache (.htaccess หรือเซิร์ฟเวอร์ apache2.conf) หรือ mod อื่น ๆ


1
จะเป็นอย่างไรถ้าผู้ใช้กระจายไปตามโซนเวลาที่ต่างกัน
เจอรัลด์ชไนเดอร์

คำตอบ:


13

คุณสามารถปฏิเสธการเข้าถึงไดเรกทอรีบางอย่างขึ้นอยู่กับเวลาโดยวางรหัสต่อไปนี้ในไฟล์. htaccess ของคุณในไดเรกทอรีที่คุณต้องการควบคุม:

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

เวลาจะขึ้นอยู่กับ 24 ชั่วโมงในหนึ่งวัน (0-23) และแต่ละชั่วโมงที่คุณต้องการปฏิเสธการเข้าถึงควรคั่นด้วย "|"

ในตัวอย่างด้านบนไม่มีใครสามารถเข้าถึงไดเรกทอรีได้ตั้งแต่ 1-3 โมง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.