DB регистрируется более безопасный, чем файл, регистрирующийся для моего веб-приложения PHP?

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

Однако для моего веб-приложения PHP будет нужен доступ для записи к файлам журнала и корпусу папки, этому файлу журнала, возможно, также понадобится доступ для записи, если вращение файла журнала желаемо, который в настоящее время не имеет мое веб-приложение. Альтернатива - чтобы я зарегистрировал сообщения к базе данных MySQL, так как мое веб-приложение уже использует базу данных MySQL для всех своих потребностей хранения данных.

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

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

Это корректно? Я использую XAMPP для разработки и являюсь новичком к ЛАМПЕ. Сообщите мне свои рекомендации для входа.Спасибо.

Обновление: Я больше склоняюсь к входу использования log4php к текстовому файлу на отдельную папку на моем веб-сервере и обеспечить доступ для записи для моей учетной записи Apache к той папке.

6
задан naivnomore 24 May 2010 в 14:34
поделиться

4 ответа

Что если ваша БД недоступна, куда вы будете записывать логи?

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

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

1
ответ дан 17 December 2019 в 18:10
поделиться

Похоже, вы задаете несколько разных вопросов:

Что более безопасно? :

Регистрация в БД не более безопасна, чем регистрация в файл и наоборот.

Вы должны запускать свой PHP-сервер / веб-сервер, используя пользователя, у которого нет прав на что-либо, кроме запуска сервера и записи в его файлы журнала, поэтому добавление записи файла журнала в ваше приложение никоим образом не должно ставить под угрозу безопасность. . См. http://www.linux.com/archive/feature/113744 для получения дополнительной информации.

Что лучше? :

Нет единого правильного ответа, это зависит от того, что вы хотите делать со своими журналами.

Что вы хотите сделать с файлами журнала? Вы хотите передать их в другое приложение? Если это так, возможно, стоит поместить их в БД. Вы хотите их заархивировать? Что ж, может быть, лучше закинуть их в файл.

Примечания :

Если вы используете структуру ведения журнала, такую ​​как Log4PHP, http://logging.apache.org/log4php/index.html , вы можете выполнять вход как в базу данных, так и в log (вероятно, это не то, что вам следует делать, но может быть случай), или вы можете без особых проблем переключаться между двумя системами хранения.

Редактировать: Эта тема может быть дубликатом Журнал в файл через PHP или журнал в базе данных MySQL - что быстрее?

0
ответ дан 17 December 2019 в 18:10
поделиться

Файлы журналов, по моему опыту, лучше всего хранить в текстовом формате. Таким образом, они всегда доступны для чтения в любой ситуации (например, через SSH или на локальном терминале) и почти всегда доступны для записи.

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

Если бы вы сделали все возможное, вы могли бы ежедневно очищать файлы журналов с помощью зашифрованной копии, отправляемой в другое место через SSL, но я думаю, что это может быть излишним;)

Если вы не против. спрашивают, почему эти файлы журналов так важны с точки зрения безопасности?

0
ответ дан 17 December 2019 в 18:10
поделиться

Помимо обеспечения правильных разрешений, рекомендуется храните файлы журналов вне корневого веб-сайта, т. е. если корневой веб-каталог - / accounts / iama / public_html , храните журналы в / accounts / iama / logs

0
ответ дан 17 December 2019 в 18:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: