基本上,我的客户在我托管多个 CodeIgniter 项目的服务器上发现了一个错误。对于所有项目,我对程序的某些部分使用相同的 CodeIgniter 会话变量,例如登录/成员资格。我的客户完全位于不同的位置、不同的 IP 地址,他们遇到了问题,这让我相信这是因为 CodeIgniter 的会话变量名称在项目之间发生冲突。
那么,如果用户在不同的位置,不同的 IP 地址,CodeIgniter 的会话类不应该处理这些吗?还是我有设置/配置来做到这一点?
基本上,我的客户在我托管多个 CodeIgniter 项目的服务器上发现了一个错误。对于所有项目,我对程序的某些部分使用相同的 CodeIgniter 会话变量,例如登录/成员资格。我的客户完全位于不同的位置、不同的 IP 地址,他们遇到了问题,这让我相信这是因为 CodeIgniter 的会话变量名称在项目之间发生冲突。
那么,如果用户在不同的位置,不同的 IP 地址,CodeIgniter 的会话类不应该处理这些吗?还是我有设置/配置来做到这一点?
如果你想匹配用户的 IP 地址,你可以在你的./application/config/config.php
:
$config['sess_match_ip'] = TRUE;
CodeIgniter 制作专用的会话 ID,其中用户的 IP 地址作为组件之一。至少可以说,重复会话 ID 的可能性非常小。
更多信息:http ://codeigniter.com/user_guide/libraries/sessions.html
您可以尝试将用户数据添加到会话 ID 以进一步减少重复 ID 的可能性,但我怀疑问题出在 CodeIgniter 类中。