2009-12-27 2 views
5

Интересно, какие шаблоны существуют для обработки ошибок в PHP?Существуют ли шаблоны для обработки ошибок в проектах PHP?

Я близок к тому, чтобы создать глобальный объект ErrorManager, который имеет методы для добавления сообщений. Когда все мое приложение скомпилировано, любая ошибка возникает в этом объекте ErrorManager. В конце моего Front Controller (последние несколько строк сценария) я сообщаю ErrorManager отображать ошибки (если они есть). Одна причудливая вещь, о которой я подумал: посетители действительно не заботятся о технических деталях. Вместо этого они должны получить красивую страницу ошибок с большим «SORRY» и информацией, о которой сообщалось об ошибке. Затем ErrorManager отправляет E-Mail администратору всю доступную информацию и записывает данные в файл журнала ошибок. Этот файл можно увидеть через бэкэнд, чтобы сделать разработку легкой.

Не знаю, если это хорошая стратегия. Бьюсь об заклад, вы знаете лучших :-)

ответ

4
3

Вы никогда не должны позволять посетителям видеть какие-либо технические сообщения об ошибках. Им не нужно это видеть, и это недостаток безопасности. Если пользователь обнаруживает SQL-инъекцию, показывая сообщение об ошибке sql, он упрощает работу с вашей структурой базы данных.

Что касается электронной почты, вы хотите быть очень осторожным с тем, как вы это делаете, поскольку администратор может спать, когда начинается ошибка, и заканчивается 20 000 электронных писем в своем почтовом ящике к тому моменту, когда он или она просыпается.

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

+0

хорошая точка с электронной почтой! – openfrog

Смежные вопросы