C#中Session的安全性如何

时间:2015-05-03 18:16:30

标签: javascript c# asp.net .net security

嗯,我知道标题不是很多,我相信很多人都在问这个问题(我没有找到)。

我正在建立一个带有用户界面的新网站,当用户登录网络时,我正在给他一个guid进入会话,

类似的东西 - Session["User"] = Guid.NewGuid();

因此。我使用这个用户(会话)作为我的主要令牌进入网络,是我检查他是谁的方式,他是否已登录?并祝贺整个网络api。

问题很简单。这有多安全?因为你可以通过简单的JavaScript得到这个吗?但我不确定他们是否有任何办法得到这个(谈论黑客不是用户)。另一个问题,用户可以得到这个吗?

SO。使它更简单,因为我的英语可能非常糟糕。

  1. 这有多安全?
  2. 用户可以得到这个吗?
  3. 非常感谢大家,祝你有个美好的夜晚。

    编辑 -

    这是为了询问如何操作的人来获取会话的JavaScript

     <script type="text/javascript">
            GetUserName();
            function GetUserName()
            {
    
                var username = '<%= Session["User"] %>';
                alert(username );
            }
        </script>
    

2 个答案:

答案 0 :(得分:2)

会议是安全的。会话数据不存储在客户端,而是存储在服务器上。客户端唯一可以访问的是存储在cookie中的SessionID。

您显示的示例使服务器将Session的内容打印到客户端的输出中。这将使其成为可用的&#34;给客户。

答案 1 :(得分:0)

由于它足够长,几乎无法猜测或暴力攻击,只要它是安全的:

  • 每个用户只能访问自己的会话ID。
  • 会话ID用作会话ID,仅此而已。也就是说,它必须在一段时间后过期。

关于guid,这将是完全相同的事情。实际上你所做的并不是真的需要。