Session 会话可以由用户客户端操纵吗?

Session 会话可以由用户客户端操纵吗?,session,client-side,session-hijacking,Session,Client Side,Session Hijacking,背景故事:我们经营着一个拥有数千名用户和少数管理员的网站。有些管理员不需要访问网站的所有权限,所以我想通过授予他们个人权限来限制他们的访问权限 我的计划是在用户登录Perimission时设置一个会话(若有)。然而,我担心这可能是一种不安全的行为 会话可以由用户客户端操纵吗?在这种情况下,如果普通用户知道权限名称并为自己设置会话,则可以访问管理功能 我在Stackoverflow上发现了一些相关问题,但是他们没有给我足够的关于这个主题的信息。您已经为管理员和用户提供了登录名,因此保存他们拥有的权

背景故事:我们经营着一个拥有数千名用户和少数管理员的网站。有些管理员不需要访问网站的所有权限,所以我想通过授予他们个人权限来限制他们的访问权限

我的计划是在用户登录Perimission时设置一个会话(若有)。然而,我担心这可能是一种不安全的行为

会话可以由用户客户端操纵吗?在这种情况下,如果普通用户知道权限名称并为自己设置会话,则可以访问管理功能


我在Stackoverflow上发现了一些相关问题,但是他们没有给我足够的关于这个主题的信息。

您已经为管理员和用户提供了登录名,因此保存他们拥有的权限类型,并授予他们修改数据的权限。而且,只要您的会话状态是加密的,就很难在客户端进行操作。 如果您担心现有会话和cookie的安全性,请点击此处链接以确保其安全。


这是如何使会话和cookie安全的完整文章…

您确实可以存储服务器变量,如用户代理、ip地址等(甚至JavaScript变量),但它们仅适用于验证持久cookie数据是否与客户端的新连接相匹配。ip地址不是一个好主意,除非您知道客户端(仅与您一样)不会在每次页面加载时更改(一个la AOL)

现代web浏览器和第三方服务(如LastPass)可以存储登录凭据,只需按键(有时甚至不需要按键)即可将数据发送到登录表单。持久的曲奇饼只对那些拒绝使用现有曲奇饼的人有好处。最终,不再需要持久的非会话cookie


除非仅通过SSL传输,否则不存在安全cookie。当使用持久性非会话cookie(如RememberMe)时,可以通过完全按照您正在做的事情来缓解这种情况,但与您考虑的方式不同。

您已经为管理员和用户提供了登录,因此请保存他们拥有的权限类型,并授予他们修改数据的权限。而且,只要您的会话状态是加密的,就很难在客户端进行手动操作。是的,会话可以由用户客户端操纵,首先,我建议您使用HTTPS而不是HTTP。接下来,您可以为您执行的每个操作使用具有时间限制的令牌。我之所以在会话中保存权限,而不仅仅是在每次页面加载时选择权限,是因为性能问题。这就是为什么我想知道我是否能够足够信任会话来保存权限表中的数据。你说“[…]在客户端很难操纵”-我能读一下吗,因为这基本上是不可能的,或者很容易做到?我知道cookies很容易在客户端进行操作。这是一样的吗?每个会话都有SessionID。会话ID是服务器在特定用户访问(会话)期间分配给该用户的唯一编号。默认情况下,会话ID附加到cookie,并且在请求/响应期间,该cookie将在客户端到服务器(以及服务器到客户端)之间共享。服务器将根据从cookie中检索到的会话id来识别会话。SSL将是最好的,但通过使用加密方案,您可以得到一个非常好的系统。。。