Пользовательская страница ошибок PHP

Все говорят, что «Разрешение показа ошибок» на активном сайте - это плохо (из-за некоторых проблем с безопасностью).

Теперь мы должны рассмотреть 2 случая:

  1. Сайт находится в режиме отладки
  2. Сайт не в режиме отладки

Теперь для случая №1:

Мы хотим видеть ошибки. Как?

ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);

Нет ничего проще. Также мы можем настроить обработчик ошибок для всех ошибок, кроме Parse и Fatal.

Вместо этого, если случай №2:

Мы хотели бы иметь возможность деактивировать сообщения:

ini_set('error_reporting', 0);
ini_set('display_errors', 0);

И это нормально. Но как насчет того, чтобы показать пользователям дружеское сообщение, например «Привет, чувак, что-то действительно испортилось. Я не уверяю вас, что мы работаем над этим, так как мы очень ленивы». Вы должны снова включить ошибки и просто использовать функцию set_error_handler () и надеяться, что не произойдет синтаксического анализа или фатальных ошибок. Но мой первый вопрос:

Вопрос 1 : Можно ли избежать сообщения об ошибках и иметь настраиваемую автономную страницу, которая загружается, когда что-то идет не так? Я имею в виду, возможно ли иметь ini_set ('error_reporting', 0); и ini_set ('display_errors', 0); и по-прежнему иметь возможность указывать PHP для загрузки пользовательского Страница ошибки?

А теперь еще:

Вопрос 2 : Я разработал класс, который с помощью set_error_handler () записывает ошибки в базу данных. Таким образом я могу отслеживать попытки взлома и другие интересные вещи. (И да, я m всегда уверен, что БД доступна, поскольку мое приложение закрывается, если мы не можем подключиться к БД). Это чего-то стоит?

5
задан mplungjan 27 January 2018 в 12:08
поделиться