我已经阅读了有关会话的微软指南,但我仍然不明白一件事: 当我调用session [“somesession”]时,这个方法每次都会读取会话cookie吗?
我见过一个随机的sessionid KOJEAKBAALANILPHAGONBEIC 这取自http://www.w3schools.com/
我的问题是:这个小字符串怎么能安全? 如果网站有很多活动会话,很容易猜到它
答案 0 :(得分:2)
使用ASP.NET,您可以将会话数据存储在内存或数据库(例如SQL Server)中。当您首次在应用程序中使用会话时,它将向会话客户端返回会话cookie。
来自客户端的所有未来请求也将传递会话cookie(其中包括您所包含的ID)。你是正确的,会话ID本身并不安全(尽管它有足够的字符来阻止它进行简单的暴力攻击)。
但是,这就是SSL的用武之地。如果您通过SSL为您的站点提供服务,那么该cookie的内容将在通过网络时被加密,并且任何窥探的眼睛将无法窃取您的会话标识符(除非您的站点对XSS攻击开放)
答案 1 :(得分:0)
通常,会话数据存储在远程服务器内存中,每个会话都有唯一的sessionId。始终为每个页面请求生成新的会话ID,直到访问会话对象。并且客户端具有存储在cookie中的sessionid的引用。
所以你看到的只是一个参考而不是真正的会话数据。希望它有所帮助。