我已经阅读了 CI 如何以不同于本地会话的方式处理会话,并且对将所有数据存储在 cookie(?)中感到有些不安全,这与 PHP 的本地会话不同,它只存储会话 ID(?)。所以我决定使用没有 CI native_session 库的本地会话。
现在,我知道 CI 中的输入类使用如下的真/假语句验证 Isset:
if ($this->input->post('something'))
这使得 Isset 函数无法工作(它给出了一个错误)。但是,我想使用 Isset 函数检查我的本地会话,那么我该怎么做呢?我试过了
if (isset($_SESSION['keyHere']))
这给了我一个错误。
所以总结一下:我想在我的会话数组上使用 Isset,因为我觉得使用
if ($_SESSION['keyHere'])
没有 Isset 可能是“危险的/愚蠢的”。
另外,作为最后一个问题,我很好奇您认为哪种会话处理最安全?CI 的 Session Class 还是 PHP 对服务器端存储的原生处理等?我非常希望在会话方面尽可能安全,无论这是否意味着我必须编写更长的代码。