背景故事:我们运营一个拥有数千名用户和少数管理员的网站。其中一些管理员不需要对网站的所有访问权限,因此我想通过授予他们个人权限来限制他们的访问权限。
我的计划是在用户登录时设置一个带有用户权限的会话(如果有的话)。但是,我担心这可能是不安全的操作。
会话可以由用户客户端操作吗?在这种情况下,如果普通用户知道权限名称并为自己设置会话,他们就可以访问管理功能。
我在 Stackoverflow 上找到了一些相关的问题,但他们没有给我足够的关于这个主题的信息。
背景故事:我们运营一个拥有数千名用户和少数管理员的网站。其中一些管理员不需要对网站的所有访问权限,因此我想通过授予他们个人权限来限制他们的访问权限。
我的计划是在用户登录时设置一个带有用户权限的会话(如果有的话)。但是,我担心这可能是不安全的操作。
会话可以由用户客户端操作吗?在这种情况下,如果普通用户知道权限名称并为自己设置会话,他们就可以访问管理功能。
我在 Stackoverflow 上找到了一些相关的问题,但他们没有给我足够的关于这个主题的信息。
您已经为管理员和用户提供了登录名,因此保存他们拥有的权限类型并授予他们修改数据的权利。只要您的会话状态是加密的,就很难在客户端进行操作。如果您担心现有会话和 cookie 的安全性,请点击此处链接以确保其安全。 保护您的会话
这是完整的文章如何使您的会话和 cookie 安全...
您确实可以存储服务器变量,例如用户代理、IP 地址等(甚至是 JavaScript 变量),但它们仅适用于验证持久 cookie 数据是否与客户端的新连接匹配。ip 地址不是一个好主意,除非您知道客户端(仅像您一样)不会在每次页面加载时更改(a la AOL)。
现代网络浏览器和 LastPass 之类的第三方服务可以存储登录凭据,只需要按键(有时甚至不需要按键)即可将数据发送到登录表单。持久 cookie 只适用于那些拒绝使用其他可用的东西的人。最后,不再需要持久的非会话 cookie。
没有安全 cookie 之类的东西,除非它仅通过 SSL 传输。使用持久性非会话 cookie(比如记住我)时,可以通过完全按照您正在做的事情来减轻它,但与您正在考虑的方式不同。