У меня есть CMS со сценарием, который выполняется для каждого файла, к которому осуществляется доступ в папке /files
.
Я настроил это с помощью RewriteRule
в /files/.htaccess
RewriteRule ^(.*) ../file_tracker?path=/$1
Сценарий file_tracker.php
должен сделать две вещи:
- Отслеживание : вести журнал количества обращений к файлу.и когда к нему последний раз обращались.
- Авторизация : для файлов экземпляра в
/files/secure
требуется сеанс входа в систему.
Когда у вас есть такой скрипт, вам нужно сделать гораздо больше, например:
- Вернуть код состояния 404, если файл не существует - требуется
file_exists
check - Вывести правильный MIME-заголовки типов - это PHP кошмар, если вы разрешаете обслуживать любой тип файла
- Выводить разумные заголовки кэширования - пользовательские E-теги?
Я хочу, чтобы этот скриптБыть настолько быстрым, насколько это возможно, потому что на некоторых страницах много файлов, 100 мс - это уже слишком много.Сейчас я думаю о простом журнале для отслеживания, с запланированной задачей, которая будет выполнять массовые обновления.Авторизация будет более ресурсоемкой, но я не могу этого избежать.Последняя часть, которую я хотел бы сделать в Apache, так как он, кажется, очень хорош в этом: правильные заголовки, E-теги для кеширования и все такое причудливое.
Я почти уверен, что не могубыть единственным с этой проблемой.Любые предложения?
Upd: У меня нет кода, чтобы показать, потому что нет соответствующего кода.Вещи, которые я мог бы реализовать, настолько тривиальны, что даже не стоит публиковать.Это предварительная тема.'use header()
' - это не то, что я ищу.
X-Sendfile
было бы идеальным решением, но по умолчанию оно не включено на большинстве хостов, поэтому я могу 'не надейся на это.