2013-02-12 94 views
2

背景故事:我们运行一个拥有数千用户和少数管理员的网站。其中一些管理员不需要全部访问网站,所以我想通过给他们个人权限来限制他们的访问。会话可以由用户客户端操纵吗?

我的计划是设置一个会话用户登录与用户权限,如果给出任何。不过,我担心这可能是一个不安全的行为。

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

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

+0

您已经为管理员和用户提供了登录,因此保存了他们拥有的权限类型,并赋予他们根据该权限修改数据的权限。只要您的会话状态是加密的,在客户端进行制作就非常困难。 – Garry 2013-02-12 14:28:15

+0

是的,会话可以由用户客户端操纵,首先我建议你使用HTTPS,而不是HTTP.Next你可以使用令牌来限制每次操作的时间。 – 2013-02-12 14:31:04

+0

我在会话中保存权限的原因,而不仅仅是选择每个页面加载的权限只是性能。这就是为什么我想知道我是否可以相信Sessions足以保存我的权限表中的数据。你说:“在客户端操作是非常困难的” - 我能读懂它,因为它基本上不可能或很容易做到。我知道cookies非常容易操纵客户端。这是一样的吗? – KlaasJan 2013-02-12 14:33:39

回答

2

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

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

0

确实是可以存储服务器变量,如用户代理,IP地址等等(甚至是JavaScript的变量) ,但它们仅用于验证持久cookie数据是否与客户端的新连接匹配。除了当你知道客户端(只有你自己)不会在每个页面加载(a la AOL)时都改变的时候,ip地址并不是一个好主意。

像LastPass这样的现代Web浏览器和第三方服务可以存储登录证书,只需要按键(有时甚至不需要)将数据发送到登录表单。持久性cookies只适用于那些拒绝使用其他方式的人。最后,持久的非会话cookie不再是真正需要的。

没有安全Cookie这样的东西,除非它只通过SSL传输。在使用持久非会话cookie(如记住我)时,它可以减轻一些问题,通过做你正在做的事情,但不是以你想要做的那种方式。

+0

SSL将是最好的,但你可以通过使用加密方案得到一个非常好的系统... – Garry 2013-02-12 14:39:12