【问题标题】:In order to use the Session class you are required to set an encryption key in your config file为了使用 Session 类,您需要在配置文件中设置加密密钥
【发布时间】:2011-07-20 02:56:20
【问题描述】:

我正在将 codeigniter 从 1.7.2 升级到 2.0.1。

一切似乎都很好,除了我得到了

为了使用 Session 类,您需要在配置文件中设置加密密钥。

2.0.0/2.0.1 中的什么变化导致了这种情况?

我需要做出什么改变来解决这个问题。

做出上述改变会破坏什么吗?

【问题讨论】:

    标签: codeigniter


    【解决方案1】:

    再次https://www.codeigniter.com/user_guide/libraries/encryption.html:D

    他们要求加密密钥的原因是安全性(显然)

    注意:即使您没有使用加密会话,也必须在配置文件中设置一个加密密钥,用于帮助防止会话数据被操纵。 - 来源:https://www.codeigniter.com/user_guide/libraries/sessions.html

    此修改不会破坏您的代码。但是从 1.7.2 更新到 2.0.1 时要小心。我建议你备份你的代码:)

    顺便说一句,他们在 2.0.0 版本的 CI 中添加了这项安全改进。我不知道为什么他们没有在升级指南中提到它:(

    【讨论】:

    • 哦,你好,你看起来好眼熟!奇怪的是,升级指南中没有指定对加密密钥的需求,所以你好心地将我链接到;D
    • 是的,这很奇怪,但我不是 CI 专家,所以我不知道那个加密密钥:D
    • 只是一个狂热的谷歌?是的,我已经备份了我的代码,只是试图让一切尽快启动并运行,损坏的代码 = >:| 老板!
    • 我是 Kohana 用户...很久以前,它非常接近 CI。他们仍然有一些共同点;)
    【解决方案2】:

    将此添加到您的 config.php

    $config['encryption_key'] = 'your_encryption_key_here';
    

    【讨论】:

    • 这里定义了什么代替 your_encryption_key_here?
    【解决方案3】:

    ./application/config/config.php



    加密密钥
    ---------------------

    如果您使用 Encryption 类或 Session 类,您 必须设置一个加密密钥。有关信息,请参阅用户指南。

    $config['encryption_key'] = '02527-269-2503946-70386-34730519'; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 2015-09-23
      • 2017-02-03
      • 2016-09-02
      • 2011-08-23
      相关资源
      最近更新 更多