在会话中存储值是否安全?

时间:2009-12-22 03:39:58

标签: asp.net security session

我正在开发一个Web应用程序,其中UserId和RoleId扮演着至关重要的角色......在会话中存储这些值是否安全。其他可以是hiddenfield,cookie ..哪个更安全?

对此有任何建议......

5 个答案:

答案 0 :(得分:9)

会话比Cookie和隐藏字段更安全,因为它们保存在服务器上。 Cookie通常不应包含敏感数据,甚至是加密的,因为用户可以直接访问它们。隐藏字段也会发送到客户端,但不会显示。因此,使用FireBug等工具,您可以轻松显示此内容。

您可以存储会话的各种位置,例如在内存中(如果您没有使用它们)或者有一个SQL服务器来维护它们。您可以获得有关会话here的更多信息。会话是安全的,因为它们存储在服务器端。

答案 1 :(得分:4)

会话变量比cookie更安全,因为它们位于您的服务器上,而不是用户的计算机上。但是会话并不完美 - 通过窃取会话密钥可以hijacked。尽管如此,这比仅仅使用已保存在计算机上的cookie更难。

答案 2 :(得分:1)

当我需要在会话中存储“易受攻击”的数据时,我会在存储之前加密数据。加密选项是动态创建的,不会存储在任何地方,因此如果会话ID被泄露,黑客就无法解密数据。存在性能开销,因此我只存储需要安全的值。

答案 3 :(得分:0)

会话肯定比隐藏字段或cookie更安全。

区别在于SESSION值存储在SERVER上,隐藏字段和cookie存储在客户端上。

答案 4 :(得分:0)

会话比cookie更安全(会话存储在服务器的内存中,cookie将转发到客户端)。