Php Laravel加密程序偶尔抛出的有效负载无效
我有一个laravel站点(V5.7),我在其中加密数据,发送到处理器,然后接收回来。每隔一段时间我就会收到一个无效的有效负载。堆栈跟踪如下:Php Laravel加密程序偶尔抛出的有效负载无效,php,laravel,encryption,payload,Php,Laravel,Encryption,Payload,我有一个laravel站点(V5.7),我在其中加密数据,发送到处理器,然后接收回来。每隔一段时间我就会收到一个无效的有效负载。堆栈跟踪如下: Illuminate\Contracts\Encryption\DecryptException: The payload is invalid. in D:\mysite\vendor\laravel\framework\src\Illuminate\Encryption\Encrypter.php:191 Stack trace: #0 D:\mys
Illuminate\Contracts\Encryption\DecryptException: The payload is invalid. in D:\mysite\vendor\laravel\framework\src\Illuminate\Encryption\Encrypter.php:191
Stack trace:
#0 D:\mysite\vendor\laravel\framework\src\Illuminate\Encryption\Encrypter.php(134): Illuminate\Encryption\Encrypter->getJsonPayload(NULL)
#1 D:\mysite\vendor\laravel\framework\src\Illuminate\Foundation\helpers.php(382): Illuminate\Encryption\Encrypter->decrypt('eyJpdiI6ImVENCt...', false)
看起来,当它运行decrypt时,变量被设置,然后当沿着框架传递它时,它突然变成一个空值
任何帮助都将不胜感激。我也遇到了同样的问题。您应该使用Xdebug查看您的情况是否类似 堆栈跟踪有点误导,但事实证明,正在创建的CSRF令牌在
getJsonPayload
中的这一行有问题:
$payload = json_decode(base64_decode($payload), true);
这就是实际返回的null
,因为当生成的令牌被base64_解码时,结果看起来像二进制数据,而不是JSON格式的字符串数据
可悲的是,这是我所能做到的…这是一次冒险。哦,天哪,我遇到了同样的问题。我还没有找到任何真正的指导。