Я использую экспериментальный веб-сервер Apache для развлечения. Частью идеи этого сервера является то, что он должен быть необычно открытым для публики; например, корневая файловая система должна быть открыта для просмотра любым пользователем. (Действительно, вот оно: http://sylvester.s.zbasu.net/rootfs/) Как следствие, безопасность отойдет на второй план.
Тем не менее, есть вещи, к которым Apache должен иметь доступ, но публика не должна этого делать. Пример, с которым я сталкиваюсь - это сайт Django. Файл settings.py
должен быть доступен для чтения Apache, иначе Django не будет работать. Но settings.py
не должен быть доступен для чтения публичным пользователям, так как он содержит секретный ключ. Таким образом, файл должен принадлежать www-data
, но Apache, тем не менее, должен отказаться от его обслуживания.
Одно из возможных решений (благодаря ellipsis753
на Freenode) - создать специальную директиву, возможно, в файле .htaccess
, сообщающую Apache не обслуживать этот файл. Тем не менее, я считаю, что если файл не доступен для чтения всем пользователям, он, вероятно, не должен обслуживаться Apache.
Могу ли я сказать Apache, что если файл не доступен для чтения во всем мире, то его не следует обслуживать?