laravel的cookie机制

背景:

在之前的文章里,介绍了APP_KEY的生成原理和作用,APP_KEY其中的一个主要目的就是用于laravel实现对cookie的加密。

 

laravel首先会通过src/Illuminate/Encryption/EncryptionServiceProvider.php里的parseKey方法,使用base64_decode对从.env的APP_KEY的值进行解码,进而得到一个key,这个key就是用来对cookie进行加密的

    protected function parseKey(array $config)
    {
        if (Str::startsWith($key = $this->key($config), $prefix = 'base64:')) {
            $key = base64_decode(Str::after($key, $prefix));
        }

        return $key;
    }

 

cookie的实现类位于vendor/symfony/http-foundation/Cookie.php

posted @ 2022-04-28 01:31  jamstack  阅读(100)  评论(0编辑  收藏  举报