#laravel
#ларавель #laravel
Вопрос:
У меня есть небольшой проект Laravel, работающий над классом Crypt. Это отлично работает как для Crypt::encrypt (..), так и для Crypt::decrypt (..). Но у меня возникает проблема, если я напрямую изменяю зашифрованное значение, а затем пытаюсь захватить исключение. Например, мое зашифрованное значение равно
zczc1234j5j3jh38234wsdfsdf214
Затем я непосредственно добавляю несколько слов, как показано ниже.
zczc1234j5j3jh38234wsdfsdf214_addsometext
Я пытаюсь расшифровать и получаю ошибку, как показано ниже
throw new DecryptException('The payload is invalid.')
Итак, я пытаюсь захватить исключение с помощью метода рендеринга.
public function render($request, Exception $exception)
{
if ($exception instanceof IlluminateContractsEncryptionDecryptException) {
dd("error");
return route('login')->withError('Your DB may be hacked');
}
return parent::render($request, $exception);
}
Я не знаю, почему метод не срабатывает, оценил и спасибо за все комментарии.
Комментарии:
1. У меня такая же проблема, куда вы помещаете этот метод рендеринга?
Ответ №1:
Вы должны справиться с этим с
use IlluminateContractsEncryptionDecryptException;
try {
$decrypted = decrypt($encryptedValue);
} catch (DecryptException $e) {
//
}
проверить https://laravel.com/docs/5.8/encryption
Комментарии:
1. Привет, Раджат Шарма, спасибо.
2. Наконец-то! Простой и лаконичный