gpt4 book ai didi

Codeigniter session 安全

转载 作者:行者123 更新时间:2023-12-04 13:07:30 28 4
gpt4 key购买 nike

如何提高 session 的安全性?

$this->session->userdata('userid')

我一直在为我的 ajax 调用扔掉这个小坏蛋。有些情况我没有。然后我想,使用 DOM 中的 id 真的安全吗?如果更改 DOM 以破解用户帐户数据怎么办?所以我想我想任何时候用户都在做与他们的 id 相关的事情,只应该引用 session 。我对吗?

像这样引用:
$this->some_model->do_data_stuff($dataId, $this->session->userdata('userid'));

然后我读了这个:

While the session data array stored in the user's cookie contains a Session ID, unless you store session data in a database there is no way to validate it. For some applications that require little or no security, session ID validation may not be needed, but if your application requires security, validation is mandatory. Otherwise, an old session could be restored by a user modifying their cookies. http://codeigniter.com/user_guide/libraries/sessions.html



我不会存储财务数据,但我不希望我网站上的任何数据遭到破坏。 SO 是否使用 session 验证?此验证将花费多少开销? session 将如何被黑客入侵? session 安全需要注意哪些事项?

最佳答案

使用 CodeIgniter session 带数据库 将是相当安全的。您只是不必相信用户提供的输入。即使您使用 AJAX,CodeIgniter session 也会像任何标准调用一样工作,因此同样的安全性会继续存在。

CodeIgniter session 发生的事情是服务器存储 cookie,每次用户执行会更改 cookie 内容的操作时,首先将其与前一个 cookie 进行比较。

如果用户在浏览器中更改了 session cookie 的内容,CodeIgniter 会在下一次服务器调用时注意到,并为用户创建一个新的 session ,基本上将他注销。

CodeIgniter 并不真正需要用户浏览器中 cookie 中存储的数据,只要您使用

$this->session->userdata('userid');

您将获得可信的服务器端数据。用户无法更改。此外,cookie 可以加密,您应该对其进行加密。只需查看 CodeIgniter 的 config.php 即可。

session 数据还有其他几个保护措施:短暂的刷新超时(通常为 300 秒),它检查 IP 是否更改,以及浏览器是否更改。换句话说,在最坏的情况下,欺骗 session 数据的唯一方法是使用相同版本的浏览器,具有相同的 IP,直接访问计算机以复制/粘贴 cookie,然后完成此操作5 分钟内。

所以,当心坐在你旁边的那个人!

关于Codeigniter session 安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8441641/

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