Где я могу хранить логи в приложении PHP, чтобы к ним нельзя было получить доступ по HTTP?

Извините, если это тривиальный вопрос.

Я новичок в PHP и создаю проект с нуля. Мне нужно хранить журналы приложений (сгенерированные с использованием log4php) в виде файлов, и я не хочу, чтобы они были общедоступными.

Теперь они хранятся в подпапке в папке моего приложения PHP, (/myAppFolder/logs) поэтому они обслуживаются Apache.

Где мне их хранить или что я должен делать, чтобы Apache не предоставил им контент?

2 ответа

Решение

Вы можете разместить их в каталоге выше корневого каталога, или, если вы находитесь на общем хосте / по каким-либо причинам не можете иметь файлы выше корневого каталога, вы можете поместить их в каталог, который запрещает любой HTTP-доступ.

Таким образом, вы можете иметь папку с именем "secret_files" с .htaccess файл сидит внутри:

.htaccess:

deny from all

Что будет препятствовать доступу HTTP к файлам / подпапкам в этой папке.

Где-то не под открытым рутом!?

Это скорее вопрос конфигурации сервера, так как он зависит от вашего сервера, но в apache вы можете использовать пользовательские директивы журнала, чтобы установить местоположение, так что если у вас есть

/www/myapp

Создайте

/www/log 

и положи их туда вместо. Для этого вам нужен контроль над конфигурацией, поэтому посмотрите документацию по веб-хостам, чтобы узнать как.

Другие вопросы по тегам