Viewing file: EncryptedStore.php (1.6 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Illuminate\Session;
use SessionHandlerInterface; use Illuminate\Contracts\Encryption\DecryptException; use Illuminate\Contracts\Encryption\Encrypter as EncrypterContract;
class EncryptedStore extends Store { /** * The encrypter instance. * * @var \Illuminate\Contracts\Encryption\Encrypter */ protected $encrypter;
/** * Create a new session instance. * * @param string $name * @param \SessionHandlerInterface $handler * @param \Illuminate\Contracts\Encryption\Encrypter $encrypter * @param string|null $id * @return void */ public function __construct($name, SessionHandlerInterface $handler, EncrypterContract $encrypter, $id = null) { $this->encrypter = $encrypter;
parent::__construct($name, $handler, $id); }
/** * Prepare the raw string data from the session for unserialization. * * @param string $data * @return string */ protected function prepareForUnserialize($data) { try { return $this->encrypter->decrypt($data); } catch (DecryptException $e) { return json_encode([]); } }
/** * Prepare the serialized session data for storage. * * @param string $data * @return string */ protected function prepareForStorage($data) { return $this->encrypter->encrypt($data); }
/** * Get the encrypter instance. * * @return \Illuminate\Contracts\Encryption\Encrypter */ public function getEncrypter() { return $this->encrypter; } }
|