Encrypter.php -> getJsonPayload ожидает, что полезная нагрузка будет зашифрованными данными bash64 с помощью json_decodeable.
Но полезная нагрузка представляет собой закодированную в base64 строку имени файла журнала (lumen-2018-04-19.log).
Таким образом, выбор файла журнала вызывает исключение недопустимой полезной нагрузки.
Какую версию программы просмотра журналов laravel вы используете?
Я пробовал от 0.14.3 до 0.11.2 один за другим. 0.11.2 работало остальные не работали. Я использовал 0.10. *, И когда я увидел проблему с безопасностью, я попытался обновить пакет, но это не сработало.
Спасибо! Может быть, есть что-то о кеше просмотра (хотя и не уверен). Не могли бы вы удалить все из storage/framework/views/
попробовать еще раз?
Подтвердите, что у меня такая же проблема с Laravel 5.6.
"laravel / framework": "5.6. *",
"rap2hpoutre / laravel-log-viewer": "~ 0.14",
Я также тестировал ~ 0.11. Раньше он определенно работал, но какое-то обновление с тех пор (возможно, для Laravel?) Сломало его.
(1/1) DecryptExceptionThe payload is invalid.
--
in Encrypter.php (line 191)
at Encrypter->getJsonPayload(null)in Encrypter.php (line 134)
at Encrypter->decrypt('bGFyYXZlbC0yMDE4LTA0LTI0LmxvZw==')in Facade.php (line 221)
at Facade::__callStatic('decrypt', array('bGFyYXZlbC0yMDE4LTA0LTI0LmxvZw=='))in LogViewerController.php (line 24)
at LogViewerController->index()
@rwattogl Не могли бы вы перезагрузить кеш просмотров? Просто беги:
php artisan view:clear
Извините, забыл упомянуть, что я уже сделал это (и пытался вручную очистить каталоги). Мы обновляем новые версии сайта автоматически через анзибль и очищаем все кеши при обновлении, так что любая из них вряд ли будет проблемой. Если вы не можете воспроизвести проблему самостоятельно, у меня должно быть время, чтобы исследовать ее позже на этой неделе, и я сообщу об этом.
@rwattogl Хорошо. Я все еще думаю, что проблема в представлении. У вас есть строки base64, поступающие из представления, и этого больше нет в представлении, поэтому я попросил очистить кеш ... Но, согласно вашему ответу, вы уже очистили его кеш. Так что, возможно, это представление где-то еще: вы изменили представление по умолчанию? Или вы опубликовали представление?
Не могли бы вы заглянуть в свою папку resources/views/vendor
если найдете что-нибудь о программе просмотра журналов? Если да, удалите его.
В текущем представлении нет кодировки base64: https://github.com/rap2hpoutre/laravel-log-viewer/blob/master/src/views/log.blade.php
(Спасибо за ваше терпение)
Ах, вы совершенно правы - я забыл, что у нас есть настроенное представление, которое не было обновлено в соответствии с последней версией кода. Я заменил функции base64 новыми ссылками на стиль \ Illuminate \ Support \ Facades \ Crypt :: encrypt, и все снова отлично работает. Возможно, стоит @ Cyclops0571 проверить и там, особенно если они прыгали по версиям и также опубликовали это представление.
@ Cyclops0571 Решил ли это вашу проблему?
@ rap2hpoutre +1 за php artisan view:clear
Вроде теперь все нормально.
Самый полезный комментарий
@rwattogl Не могли бы вы перезагрузить кеш просмотров? Просто беги: