Loại ACL này cho phép ta kiểm soát truy cập dựa vào thời gian trong ngày và ngày trong tuần. Cú pháp ACL như sau:
acl name time [days] [h1:m1-h2:m2] acl FTP proto FTP
Trang 82
Ta có thể chỉ ra ngày trong, giờ bắt đầu hoặc giờ kết thúc hoặc cả hai. Ngày là một ký tự được liệt kê trong bảng xxx. Giờ được định dạng theo kiểu 24- giờ. Giờ bắt đầu phải nhỏ hơn giờ kết thúc.
Code Day S Sunday M Monday T Tuesday W Wednesday H Thursday F Friday A Saturday D All weekdays (M-F)
Bảng 3.2 Mã và giá trị của ngày
Ví dụ sau tạo một ACL với khoảng thời gian là giờ làm việc hành chính.
Để thấy được sự ràng buộc và khả năng biến đổi của ACL thời gian ta xét thêm một vài ví dụ. Giả sử ISP cho phép khoảng thời gian từ 20:00 đến 04:00 được sử dụng Internet không giới hạn. Ta không thể viết “20:00-04:00”, thay vào đó ta sẽ chia ra thành hai ACL định nghĩa hai khoảng thời gian khác nhau.
Tuy nhiên ta có thể viết ngắn gọn hơn như sau.
Mặc dù Squid cho phép ta viết nhiều giá trị ngày giờ trên cùng một dòng ACL. Tuy nhiên, bộ biên dịch có thể không đủ thông minh để hiểu hết ý đồ của chúng ta. Giả sử một ACL như sau:
acl Blah time M 08:00-10:00 W 09:00-11:00 acl busytime time 04:00-20:00
http_access allow !busytime acl freetime1 time 20:00-23:59 acl freetime2 time 00:00-04:00
http_access allow freetime1 http_access allow freetime2
Trang 83
Tuy nhiên kết quả sau khi biên dịch lại không đúng với ý đồ của ta. Bộ biên dịch sẽ OR những ngày trong tuần và chỉ sử dụng khoảng thời gian cuối cùng. Như vậy ACL trên lại trở thành:
Để thực hiện được yêu cầu trên ta nên sử dụng hai dòng riêng biệt cho cùng một ACL.