<rmcreative>

RSS

500-я страница YouTube

2 апреля

Поймал 500-ку на YouTube. Никто не застрахован, конечно, но дело не в этом. Она полезней, чем среднестатистическая страница с ошибкой и вот почему...

Что её отличает от типичной страницы ошибки, так это кусок «информации». В продакшн-режиме показать что-либо полезное нельзя (хакерам станет в разы проще), но хочется... порой в логах найти нужную ошибку не просто. Так вот, блок текста на скриншоте — не что иное, как зашифрованная ключом информация. Скорее всего, у YouTube есть внутренний сервис с формой, в которую можно эти данные скопировать и получить расшифрованный полный стектрейс и остальную информацию. Очень умно.

На Yii такое можно реализовать немного поправив обработчик ошибок для того, чтобы кодировать информацию при помощи Security::encryptByKey(). Ну и сделать формочку, делающую декодирование.

Комментарии RSS

  1. №11238
    Valeriu
    Valeriu 03 апр. 2018 г., 1:42:01

    Буквально сегодня тоже один раз наткнулся на такую ошибку в YouTube.

  2. №11240
    Илья
    Илья 03 апр. 2018 г., 9:56:15

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

  3. №11241
    Sam
    Sam 03 апр. 2018 г., 11:47:11

    Илья, да, тоже хороший вариант.

  4. №11243
    Андрей
    Андрей 03 апр. 2018 г., 15:38:10

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

  5. №11244
    Олег
    Олег 03 апр. 2018 г., 15:54:50

    Если "в логах найти нужную ошибку не просто", то у вас глобально явно что-то не так. Зачем такие логи вести, в которых ничего найти не получается?

  6. №11245
    Sam
    Sam 03 апр. 2018 г., 17:06:17

    Олег, дело не в том, что нельзя или можно найти. Не так просто сопоставить логи и редкую ошибку у конкретного пользователя, если ошибка никак не маркирована.

  7. №11246
    Андрей
    Андрей 05 апр. 2018 г., 11:37:10

    Все же мне кажется удобнее выдавать request_id. Он же пишется в логи, он же отсылается в graylog, где уже ошибки можно группировать и прочее

  8. №11247
    Sam
    Sam 05 апр. 2018 г., 14:42:23

    Это и есть маркирование. Это вполне себе хороший подход.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.