arthurkushman / coossions
该包的最新版本(1.1.1)没有可用的许可证信息。
Coossions php 插件,用于将会话存储在加密的 cookie 中
1.1.1
2017-05-01 18:27 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: >=5.4
This package is auto-updated.
Last update: 2024-08-29 04:31:18 UTC
README
Coossions(代表 cookie-sessions)是一个 php 插件,用于将会话存储在加密的 cookie 中
通过 composer 安装
composer require arthurkushman/coossions
用法
$coossions = new CoossionsHandler('your_digest_secrete'); // any secret word $coossions->startSession();
然后,像往常一样,在任何代码空间中 - 设置会话全局变量
$_SESSION['foo'] = 123; $_SESSION['bar'] = 'baz';
获取会话全局变量
echo $_SESSION['foo'] . ' ' . $_SESSION['bar'];
详细信息
会话将在客户端的 cookie 中写入,使用 openssl 加密代码(默认使用 aes-256-ctr 加密算法),并通过 your_digest_secrete
(默认使用 sha256)进行摘要。此外,整个消息将与 hash_hmac 合并,基于由动态 SID 和消息组成的盐,然后通过 hash_equals 进行检查,以进一步识别存储在 cookie 中的非欺诈数据。
为了创建可靠的/安全的加密签名,最好是将 your_digest_secrete
设置为大小写字母和数字的组合,并且足够长。
通过 DI 设置自定义哈希和加密算法
尽管已经设置了目前已知最佳的和加密算法 - 您可以设置您首选的算法
$coossions = new CoossionsHandler('your_digest_secrete'); $encryptor = new Encryptor('your_digest_secrete'); $encryptor->setDigestAlgo('sha512'); // defaults to sha256 $encryptor->setCipherAlgo('aes-128-ctr'); // defaults to aes-256-ctr $coossions->setEncryption($encryptor); $coossions->startSession();
性能
测试了写入/读取 2 个 $_SESSION 变量(3 个符号长度的 int/string)的性能
- 写入平均时间 6-8 微秒
- 读取平均时间 5-7 微秒