php - 在 Redis 上安全存储 PHP session 的身份验证 key

标签 php security redis phpredis

假设一个站点正在使用 Redis(远程)来存储 session 数据,并且该 Redis 存储受到身份验证 key 的保护

因此,在 php.ini 中,使用 phpredis,将其设置为:

session.save_handler = redis
session.save_path = "tcp://redis.example.com:6379?auth=[AUTH_STRING_HERE]"

有什么办法可以让这个更安全吗?服务器上运行 phpinfo() 的任何人;可以看到身份验证字符串...

最佳答案

从 PHP 7 开始,您可以将选项数组传递给 session_start() 命令,例如

session_start([
    'save_handler' => 'redis', 
    'save_path' => 'tcp://redis.example.com:6379?auth='. $your_auth
]);

这样,您就可以使用标准的 12 因素应用程序最佳实践,将敏感数据存储在 .env 文件中。

对于 7 之前的 php 版本,您应该能够使用 ini_set覆盖存储在 php.ini 文件中的值。

关于php - 在 Redis 上安全存储 PHP session 的身份验证 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20102448/

相关文章:

php - 不在 php 中重新声明变量

java - 这是一种安全的加密方法吗

java - JSP/Servlet Web 应用程序中的 XSS 预防

security - 从不允许 scp 的服务器传输可执行文件

redis pub sub 和 ttl

node.js - 我应该如何将 JSON 存储在 redis 中?

php - 从具有相同列的两个表中选择

javascript - 如何为JSON对象中的每个叶节点生成JSON路径?

php - 如何在mysql语句中使用LIKE和通配符

python - Celery 任务在 Django 应用程序中执行多次