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