【问题标题】:Users are getting other user's session!用户正在获取其他用户的会话!
【发布时间】:2010-09-15 11:27:04
【问题描述】:

我有两个 .NET 网站,它们被设置为通过 SQL db 共享它们之间的会话。

网站使用session("MY_Session").addSession("MY_Session") 存储和检索会话。存储的内容基本上是一个带有用户名和名称的自定义类。

使用 DefaultAppPool 在 IIS 中设置父网站,然后将辅助站点设置为同一池中的虚拟目录应用程序。

我不太确定它是如何在 SQL 上为会话设置的,因为我没有把它放进去。

在两个应用程序的 web.config 中,设置如下:

sessionState mode="SQLServer" 
sqlConnectionString="server=xxxxx;uid=uuuu;pwd=pppppp;Application Name=NNNNNN"/

用户声称他们有时会打开浏览器并访问该站点并发现其他人的信息(来自同一组织内)正在出现...

谁能告诉我我做错了什么以及下一步该怎么做?

【问题讨论】:

    标签: asp.net security iis session


    【解决方案1】:

    如果涉及代理服务器,这可能是一个缓存问题 - 确保正确标记任何个性化内容,以免在客户端之间共享。

    这样的标题应该可以改善问题:

    缓存控制:私有

    【讨论】:

    • 感谢您的建议。因此,这有望迫使用户的电脑从服务器刷新,但我很困惑他们为什么要抢别人的会话?我的意思是,这些人声称他们没有输入任何用户名或密码,并且能够浏览整个网站并完全访问其他人的信息!几乎就像会话劫持
    • 我可以肯定他们使用的是不同的电脑?
    • @Ichirichi 可能是会话没有被共享,但是基于会话生成的内容已被中间代理缓存并提供给不同的客户端,而请求没有经过所有回到你的服务器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-08
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    相关资源
    最近更新 更多