【发布时间】:2015-06-29 22:44:21
【问题描述】:
我不完全了解cookies的漏洞,只是通过阅读似乎可以改变它们......
无论如何,将用户“角色”或“权限”存储在 cookie 中似乎是一种常见的做法。
这是一个不正确的假设吗?
还有什么方法可以尝试保护用户角色? 每次我想获取用户的角色时都必须查询数据库吗?
我现在正在使用 codeigniter 并做类似的事情
$this->session->set_userdata('role') = 'admin';
然后像访问它
if ($this->userdata('role') == 'admin'){
allow access to important web aspects... and special database inserts
}
衷心感谢您的帮助或进一步的理解。
【问题讨论】:
-
Cookie 不是为了安全。如果您依赖 cookie 作为安全角色,那么用户可以为自己提供更多访问权限。
-
cookies 应该尽可能多地依赖于用户在每次请求时可以输入到文本框中的内容。会话令牌和其他用户指定的设置。永远不要做任何你不希望用户摆弄的东西。
-
如果 cookie 被加密(就像在 Codeigniter 中一样)怎么办?
-
不要将 cookie 与会话混为一谈...... Web 浏览器上的会话 cookie 只包含一个会话 ID;在服务器上,会话 ID 指向一个文件,该文件包含您的 PHP 代码正在访问的会话数据....会话数据无法从 Web 浏览器访问
标签: php codeigniter session cookies