如何提高会话的安全性?
$this->session->userdata('userid')
我一直在为我的 ajax 调用而抛弃这个小坏男孩。有些情况我没有。然后我就想,使用 DOM 中的 id 真的安全吗?如果 DOM 被更改以破解用户帐户数据怎么办?所以我想每当用户做一些与他们的 id 相关的事情时,只有会话应该被引用。我对吗?
像这样引用:
$this->some_model->do_data_stuff($dataId, $this->session->userdata('userid'));
然后我读到了这个:
而存储在用户 cookie 中的会话数据数组包含
会话 ID,除非您将会话数据存储在数据库中,否则没有
方法来验证它。对于一些需要很少或不需要的应用
安全性,可能不需要会话 ID 验证,但如果您
应用程序需要安全性,验证是强制性的。否则,一个
用户可以通过修改其 cookie 来恢复旧会话。http://codeigniter.com/user_guide/libraries/sessions.html http://codeigniter.com/user_guide/libraries/sessions.html
我不会存储财务数据,但我不希望我的网站上的任何数据被损坏。 SO 使用会话验证吗?此验证需要多少开销?会话如何被黑客入侵?会话安全需要注意哪些事项?
使用 CodeIgniter 会话带数据库将会相当安全。您只是不必相信用户提供的输入。即使您使用 AJAX,CodeIgniter 会话也将像任何标准调用一样工作,因此具有相同的安全性。
CodeIgniter 会话发生的情况是,服务器存储 cookie,每次用户执行会更改 cookie 内容的操作时,都会首先将其与之前的 cookie 进行比较。
如果用户更改了浏览器中会话 cookie 的内容,CodeIgniter 将在下一次服务器调用时注意到,并为用户创建一个新会话,基本上将其注销。
CodeIgniter 实际上并不需要用户浏览器中 cookie 中存储的数据,并且只要您使用
$this->session->userdata('userid');
您将获得可信的服务器端数据。用户无法改变这一点。此外,cookie 可以加密,您应该对其进行加密。只需查看 CodeIgniter 的 config.php 即可。
围绕会话数据还有其他几种保护措施:短刷新超时(通常为 300 秒)、检查 IP 是否更改以及浏览器是否更改。换句话说,在最坏的情况下,欺骗会话数据的唯一方法是使用相同版本的浏览器、相同的 IP、直接访问计算机来复制/粘贴 cookie,然后完成此操作5分钟内。
所以,要小心坐在你旁边的那个人!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)