500-я страница YouTube
2 апреля 2018
Поймал 500-ку на YouTube. Никто не застрахован, конечно, но дело не в этом. Она полезней, чем среднестатистическая страница с ошибкой и вот почему...
Что её отличает от типичной страницы ошибки, так это кусок «информации». В продакшн-режиме показать что-либо полезное нельзя (хакерам станет в разы проще), но хочется... порой в логах найти нужную ошибку не просто. Так вот, блок текста на скриншоте — не что иное, как зашифрованная ключом информация. Скорее всего, у YouTube есть внутренний сервис с формой, в которую можно эти данные скопировать и получить расшифрованный полный стектрейс и остальную информацию. Очень умно.
На Yii такое можно реализовать немного поправив обработчик ошибок для того, чтобы кодировать информацию при помощи Security::encryptByKey(). Ну и сделать формочку, делающую декодирование.
Комментарии RSS по email OK
Буквально сегодня тоже один раз наткнулся на такую ошибку в YouTube.
С другой стороны, зачем шифровать всю информацию? Достаточно просто коротенького хеша, по которому в логах можно будет найти полное описание ошибки (если этот же хеш добавить в текст ошибки).
Илья, да, тоже хороший вариант.
Илья, у нас такой вариант использовался. Было примитивное хранилище логов в мускуле, по хешу еще и удобно смотреть количество подобных ошибок.
Если "в логах найти нужную ошибку не просто", то у вас глобально явно что-то не так. Зачем такие логи вести, в которых ничего найти не получается?
Олег, дело не в том, что нельзя или можно найти. Не так просто сопоставить логи и редкую ошибку у конкретного пользователя, если ошибка никак не маркирована.
Все же мне кажется удобнее выдавать request_id. Он же пишется в логи, он же отсылается в graylog, где уже ошибки можно группировать и прочее
Это и есть маркирование. Это вполне себе хороший подход.