gpt4 book ai didi

session - 为什么 Symfony Session 数据在我的生产服务器上被加密?

转载 作者:行者123 更新时间:2023-12-01 02:51:37 26 4
gpt4 key购买 nike

我想为共享相同顶级域的 Symfony 网站共享一个单一的身份验证方法。
我使用对所有子域有效的 cookie 和 sfPDOSessionStorage 来保存 session 数据。

factory.yml 在两个项目上都是这样设置的:

all:
storage:
class: sfPDOSessionStorage
param:
database: doctrine
db_table: sessions
session_name: myauth
db_id_col: id
db_data_col: sess_data
db_time_col: time
session_cookie_domain: ".mydomain.net"
session_cookie_lifetime: 86400
session_cookie_path: /

在我的开发机器和我同事的机器上,这个机制工作正常,但在服务器上却不行(当我切换子域时,我被要求提供凭据)。我看到这两种环境之间的唯一区别是数据存储的格式,数据似乎在 prod 服务器上被加密,但在我的机器上以明文形式出现。这里没有敏感数据,所以我可以发布一个示例:

开发环境 sess_data:
symfony/user/sfUser/lastRequest|i:1295349567;symfony/user/sfUser/authenticated|b:0;symfony/user/sfUser/credentials|a:0:{}symfony/user/sfUser/attributes|a:1:{s:30:"symfony/user/sfUser/attributes";a:1:{s:7:"referer";s:0:"";}}symfony/user/sfUser/culture|s:2:"fr";

生产服务器 sess_data:
BB7HBTsQg75NNGvb9Z8sexldqbS79YzDgrztQzSFhsUpEk2EeCOtKw8FQbm31vLIRyr3ZP_klwZFXywnkdem27naIWjIVBP_WwpwNRg4IMj1J0fIfxJN_UOw2RbCWh91L5ryCD_7_ynN2UtxfuJwUWnxoGuUvqD8YQxNdczQipmktPVFk1mVfKE1-BsrdHHLIXH_gi44-Bos3f-EshE5skuQpachnY1FkgvvvOuXEj7zxPflgA3xtGoqJxkDijT-uKnQCH4TrimhvkIRGCt0oVuOdsAJzuWW6ijgPCD3X767mSIzm_lQmJoSGxDB7fAgFihB7Ljoq0tsysC62BqTYFB6dTnuZoj3KON8lXlyNJZVyLgTWZ3EYoObtc8jCKYNDonSjEqzTvwg4NJRVoB5ePx61iTqbDd9qFlkryzj9J8.

我不知道使用哪种加密类型将信息存储在数据库中,我也不确定这是我的问题的根源,但由于这是我能发现的唯一区别,我看不到任何其他解释. (PHP 和 MySQL 版本是相同的,我这边是 Ubuntu 10.10,服务器端是 Debian Squeeze)。

最佳答案

我认为您的生产服务器上安装了一些模块,负责加密 session 数据。

例如,suhosin 补丁在 PHP 中添加了这样一个特性:http://www.hardened-php.net/suhosin/configuration.html

它由 php.ini 中的 suhosin.session.encrypt 配置选项激活。

关于session - 为什么 Symfony Session 数据在我的生产服务器上被加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4725035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com