1

我正在使用 codeigniter2.1.4。我的问题是当我使用

$this->encrypt->encode($row['service_id'])

在我的视图页面中,它生成了一个不允许 url 的密钥,我也想要短加密密钥 bcoz 当前加密密钥太大。任何解决方案?谢谢

4

1 回答 1

1

一个简单的解决方案是将加密密钥作为 POST 参数而不是 GET 参数发送。如果您不想这样做,请查看

$config['permitted_uri_chars']

在应用程序/config/config.php 中。添加要在 URL 中发送的字符。记住。这是一个安全妥协。

您始终可以使用更改为另一种密码算法

$this->encrypt->set_cipher();

众所周知,这会弄乱您的会话,因为会话是使用默认算法加密的。因此,如果您设置会话,更改密码并再次尝试修改或设置会话,它将无法正常工作。您需要确保在加密完成后将密码设置回默认值。

检查并尝试理解 system/libraries/Session.php,尤其是在线下

$cookie_data = $this->CI->encrypt->encode($cookie_data);

如果您有兴趣找到“为什么”的答案

于 2013-08-21T13:21:43.977 回答