Mil*_*lle 5 session codeigniter isset
我已经读过CI如何处理会话与本地会话不同,并且对将所有数据存储在cookie(?)中感到有些不安全,这与PHP的本地会话不同,后者只存储会话ID(?).所以我决定使用没有CI native_session库的原生会话.
现在,我知道CI中的输入类使用如下的true/false语句验证Isset:
if ($this->input->post('something'))
Run Code Online (Sandbox Code Playgroud)
这使得Isset函数无法工作(它给出了一个错误).但是,我想用Isset函数检查我的本机会话,那么我该怎么做呢?我试过了
if (isset($_SESSION['keyHere']))
这给了我一个错误.
总结一下:我想在我的会话数组上使用Isset,因为我觉得使用它
if ($_SESSION['keyHere'])
没有Isset可能是'危险/愚蠢'.
另外,作为最后一个问题,我很好奇你认为最安全的会话处理?CI的Session Class或PHP的本机处理与服务器端存储等?我非常希望在会话方面尽可能安全,无论是否意味着我必须编写更长的代码.
我会用array_key_exists而不是isset. isset还会检查值是否不为 null,因此具有现有键但值为 null 的数组仍将返回 false。您知道它是一个数组,并且想要检查某个键是否存在,因此使用 array_key_exists 是最有意义的。
但这不是问题。:D
我想你需要先打电话session_start()。
只要您在单个 Web 服务器上,PHP 的本机会话处理就可以很好地执行。
| 归档时间: |
|
| 查看次数: |
7281 次 |
| 最近记录: |