Где я могу хранить логи в приложении PHP, чтобы к ним нельзя было получить доступ по HTTP?
Извините, если это тривиальный вопрос.
Я новичок в PHP и создаю проект с нуля. Мне нужно хранить журналы приложений (сгенерированные с использованием log4php) в виде файлов, и я не хочу, чтобы они были общедоступными.
Теперь они хранятся в подпапке в папке моего приложения PHP, (/myAppFolder/logs
) поэтому они обслуживаются Apache.
Где мне их хранить или что я должен делать, чтобы Apache не предоставил им контент?
2 ответа
Вы можете разместить их в каталоге выше корневого каталога, или, если вы находитесь на общем хосте / по каким-либо причинам не можете иметь файлы выше корневого каталога, вы можете поместить их в каталог, который запрещает любой HTTP-доступ.
Таким образом, вы можете иметь папку с именем "secret_files" с .htaccess
файл сидит внутри:
.htaccess:
deny from all
Что будет препятствовать доступу HTTP к файлам / подпапкам в этой папке.
Где-то не под открытым рутом!?
Это скорее вопрос конфигурации сервера, так как он зависит от вашего сервера, но в apache вы можете использовать пользовательские директивы журнала, чтобы установить местоположение, так что если у вас есть
/www/myapp
Создайте
/www/log
и положи их туда вместо. Для этого вам нужен контроль над конфигурацией, поэтому посмотрите документацию по веб-хостам, чтобы узнать как.