Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 03.06.2013 18:49:50

Decryption error. Padding is invalid.

В общем после попытки залогиниться, и не правильно введенных данных выскакиевает вот такая штука иногда  и не убирается до тех пор пока не почищу куки, на всех страницах отображается. Чет не могу понять что за нафиг?

Не в сети

#2 03.06.2013 19:58:32

Re: Decryption error. Padding is invalid.

Интересно. А какое значение cookie? Только выложи тестовое и с «левым» ключом, чтобы не было каких-то частных данных.

Не в сети

#3 03.06.2013 20:16:00

Re: Decryption error. Padding is invalid.

вот скрин, судя по всему в куках больше ничего и нет

session_payload
5933d10e770650b4755fff2d194dde0f76ddecdc+M0OSWRbMT5EMO15rbZdp0THJFVg9yCWupVv/LfXa0zFbgy1ypR2nk0PjT0t6L23fudUVrTAGA4Mln9bP4xMFEUP8pbM2jGvAKccVVFMqXQQPolyduQwaq3z9QflYZ2Z5ztKpqcZ3FM0onFoIF3onnamyvvyxTM77j+JAJlgeMmAGpG3SVeQ4pQbupWWnUQp0E9EI4vmLgLxQmBwHEG/hy2J5lDSGgR6w4ORE8FWdBWNII2i9veRVl3hCNqQQkzAjnYG+HN1O2zasEu/9/B9B8hxof4Fr3BQjbo2xFH2fVcT6rFRfOWFeE5OTxnkTVg6xrUmARrfkL+5P+rdvkDugQzXeL9pMqD5Rz5e6gPtfzHV7901P4PRvgkPV3Q3a+P/u9fAxMMVeXsoA23AKpXpRKwkcsLFh78CNwRqk9wuvAfPQIgPFR7EthatvNakmCUo2AupU/13gbvQJTtyKao38ldvmD76wWMdKnMXsIL0aDsYBq9S0TEDUZSDs45l8aCZeZY9N/iBwCkUEenSYSAXE0p20FFGXbjhOS7naE+jd0fE=

laravel_session
fec14f75f39a2e61a0d1129b2b9de2347a971e47+unXbqnLVwFEoXA9wZTm4cxJDe0Wi1jo6ExD0iyyy

Ключик из конфига
'key' => '53sOegYpEFj1Hov8HgtFbkw6AOTM2UMr',

Кстати не знаю что за session_payload но он у меня меняется каждые 5-10 секунд примерно. То есть вот показывается эта страница с ошибкой, я ничего не делаю, а значение меняется

Изменено la2ha (03.06.2013 20:26:25)

Не в сети

#4 03.06.2013 21:10:19

Re: Decryption error. Padding is invalid.

В общем на зарубежном форуме кажется нашел решение проблемы, в общем в куках можно хранить только 4кб, а у меня наверно больше, поэтому в общем ключик этот и не до конца записан, оно не может его расшифровать, вот и получается борода такая.

Не в сети

#5 04.06.2013 06:27:16

Re: Decryption error. Padding is invalid.

session_payload — данные сессии, если драйвер установлен в cookie.

Больше нескольких Кб в cookie хранить вообще не стоит, попробуй переключить драйвер сессии в файлы и посмотреть, уйдёт ли ошибка. Возможно после авторизации ты записываешь в сессию много данных и она переполняется (там ведь шифрование + base64 добавляют к размеру процентов 50%).

Не в сети

#6 04.06.2013 13:27:08

ufadizer

Re: Decryption error. Padding is invalid.

есть такой хак.

в файле crypter.php в системной папке ларавел, меняем 132 строку на это

$pad = ord($value[($length = strlen($value)) - 1]);

#7 04.06.2013 14:05:00

Re: Decryption error. Padding is invalid.

  1. в файле crypter.php в системной папке ларавел, меняем 132 строку на это

Я подозревал, что ошибка может быть в использовании mbstring (не понимаю, зачем оно там — ведь всё равно строка кодируется base64). Но тогда проще просто заменить твой код на тот, что там уже есть, закомментировав if:

PHP
$pad ord(substr($value, -1));

Не в сети

Подвал раздела