我已经阅读了有关 session 的微软指南,但我仍然不明白一件事: 当我调用 session["somesession"] 时,此方法每次都读取 session cookie?
我看到了一个随机的sessionid KOJEAKBAALANILPHAGONBEIC 这是取自 http://www.w3schools.com/
我的问题是:这个小字符串如何保证安全? 很容易猜到,特别是如果该站点有很多事件 session
最佳答案
使用 ASP.NET,您可以将 session 数据存储在内存或数据库(例如 SQL Server)中。当您第一次在您的应用程序中使用 session 时,它将向客户端返回一个 session cookie。
来自客户端的所有 future 请求也将传递 session cookie(其中包括一个 id,例如您提供的那个)。您是正确的, session ID 本身绝不是安全的(尽管它有足够的字符来防止它受到简单的暴力攻击)。
然而,这正是 SSL 发挥作用的地方。如果您通过 SSL 为您的网站提供服务,那么该 cookie 的内容将在通过网络时被加密,任何窥探者都无法窃取您的 session 标识符(当然除非您的网站对 XSS 攻击开放) .
关于Asp.net Sessionid cookie : how it work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16865185/