Я столкнулся с этим, когда искал ответ для себя.Я не верю, что существует простое «исправление разрешений», чтобы делать то, что вы хотите, и, возможно, самый безопасный способ - это поместить файлы журналов вне директории public_html.
Однако иногда это может быть неприятно - особенно есливы хотите, например, перехватить текст дампа paypal ipn в файле журнала, но не сделать его общедоступным.
В таких случаях вы можете использовать директивы файла .htaccess, чтобы разрешить запись из скрипта, но запретить чтение из публичногоaccess.
Например, это работает для меня (Apache .htaccess в корневой папке public_html);
<FilesMatch "mycustom\.log">
Order allow,deny
Deny from all
</FilesMatch>
и если у вас есть несколько журналов, которые вы хотите защитить, используйте его следующим образом:с "Pipe Separated";
<FilesMatch "mycustom\.log|ipn_errors\.log">
Order allow,deny
Deny from all
</FilesMatch>
Стоит отметить, что вышеприведенные директивы устарели с версии Apache 2.4, и вы можете рассмотреть возможность использования вместо них нескольких текущих директив: https://httpd.apache.org/docs/2.4/howto/access.html
Надеюсь, что это поможет вам!