asp.net会员提供商受到了损害?

时间:2009-03-23 15:13:37

标签: sql-server-2005 asp.net-membership membership-provider provider

我正在使用标准的开箱即用的aspnet成员资格提供程序,我在web.config中有以下设置:

<anonymousIdentification enabled="false"/>
<authentication mode="Forms">
    <forms cookieless="AutoDetect" loginUrl="~/XXXX.aspx" name="XXXXAuth" slidingExpiration="true" timeout="432000"/>
</authentication>
...
<membership defaultProvider="XXXMembershipProvider">
    <providers>
        <add name="XXXMembershipProvider" type="System.Web.Security.SqlMembershipProvider" applicationName="XXX" connectionStringName="XXX" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" minRequiredPasswordLength="5" minRequiredNonalphanumericCharacters="0" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
    </providers>
</membership>

今天我遇到了一个问题,用户报告他们已登录并注意到该网站说他们已经登录....作为一个完全不同的用户。与两个用户联系后,结果表明他们都没有从共享计算机访问该站点。两个帐户的数据都没有显示数据库中被“黑客入侵”的迹象。

托管在负载均衡器后面的两个Web服务器上。数据库体系结构是一个用于读取的服务器,一个用于复制的写入服务器,使它们保持同步。

有谁知道可能导致这种情况发生的原因?

2 个答案:

答案 0 :(得分:1)

可以实现此目的的选项是cookieless = AutoDetect。如果一个用户的浏览器不支持cookie,asp.net将在网址中嵌入加密的身份验证票证。如果用户碰巧与另一方共享链接,或者更少直接在论坛上发布,则他会无意中访问他(她)的帐户。

答案 1 :(得分:1)

我想知道负载均衡器有多聪明,以及它是否也在缓存页面。

会员cookie非常被锁定,因此非常值得怀疑它是否受到了损害。如果负载均衡器也在缓存,则很可能无法传递请求。