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

时间:2013-02-12 14:24:20

标签: session client-side session-hijacking

背景故事:我们运营着一个拥有数千名用户和少数管理员的网站。其中一些管理员不需要对网站进行全部访问,因此我希望通过授予他们个人权限来限制他们的访问权限。

我的计划是在用户登录时使用用户权限设置会话,如果有的话。但是,我担心这可能是一种不安全的行为。

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

现代网络浏览器和第三方服务(如LastPass)可以存储登录凭据,只需按键(有时甚至不需要按键)即可将数据发送到登录表单。持久性cookie仅适用于那些拒绝使用其他可用内容的人。最后,不再需要持久的非会话cookie。

没有安全cookie这样的东西,除非它只通过SSL传输。当使用持久的非会话cookie(比如记住我)时,可以通过完成你正在做的事情来减轻它,但不会像你想要的那样。