gpt4 book ai didi

session - 在 CodeIgniter 中将 Isset 与 native session 结合使用

转载 作者:行者123 更新时间:2023-12-02 15:46:36 24 4
gpt4 key购买 nike

我读过有关 CI 如何以不同于 native session 的方式处理 session 的内容,并且对于将所有数据存储在 cookie 中感到有点不安全(?),这与仅存储 session ID(?)的 PHP native session 不同。因此,我决定使用 native session ,而不使用 CI native_session 库。

现在,我知道 CI 中的输入类使用如下的真/假语句来验证 Isset:

if ($this->input->post('something'))

这使得 Isset 函数无法工作(它给出一个错误)。但是,我想使用 Isset 函数检查我的 native session ,那么我该如何执行此操作?我已经尝试过

if (isset($_SESSION['keyHere']))

这给了我一个错误。

总结一下:我想在我的 session 数组上使用 Isset,因为我感觉使用

if ($_SESSION['keyHere'])

没有 Isset 可能会“危险/愚蠢”。

另外,作为最后一个问题,我很好奇您认为哪种 session 处理最安全? CI 的 session 类或 PHP 的服务器端存储等 native 处理?我非常希望在 session 方面感到尽可能安全,无论这是否意味着我必须编写更长的代码。

最佳答案

好吧,让我们谈谈您在 isset 中遇到的问题!我同意后面的所有答案,空函数是一个很好的尝试,也使用 array_key_exists,但是 isset 在 php 语言上有自己的位置。

起初,您没有发布您收到的错误,但正如 @GolezTrol 所说,您可能在 session_start() 方面遇到问题。

您需要将其放在页面顶部、任何脚本之前。我会将此代码放在所有脚本之前,最好将其放在 config/config.php 页面内、其开头,或者可能放在根 index.php 上

使用它,您将在系统的所有页面上启动 session 。好吧,关于你的第二个问题。

我认为 PHP 原生的 session 非常安全,但 Codeigniter 的 session 也非常好。

Codeigniter 存在一些安全问题,当我们谈论 cookie 时,如果我们正在处理系统的重要数据,则很难使用它,特别是如果其他人可以编辑它,想想我所描述的所有内容如上所述,我可以说 Codeigniter 有一个很好的 session 库,即使我们正在处理重要的数据。

如果你不相信cookie的安全性,直接放在数据库里,你就会遇到麻烦。好处是能够和设施在系统的每个地方使用此类!

其实我正在使用数据库的方式,我建议它。

关于session - 在 CodeIgniter 中将 Isset 与 native session 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6239422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com