1

標準のすぐに使える 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>

今日、ユーザーがログインに行ったと報告し、サイトがすでにログインしていると言っていることに気付いたという問題がありました.... まったく別のユーザーとして。両方のユーザーに連絡したところ、どちらも共有コンピューターからサイトにアクセスしていることがわかりました。どちらのアカウントのデータも、データベースで「ハッキング」された形跡はありません。

は、ロード バランサの背後にある 2 つの Web サーバでホストされています。データベース アーキテクチャは、読み取り用の 1 つのサーバーと書き込み用の 1 つのサーバーであり、同期を維持するレプリケーションを備えています。

これを引き起こした原因を誰か知っていますか?

4

2 に答える 2

1

これを可能にするオプションは、cookieless=AutoDetect です。ユーザーのブラウザーが Cookie をサポートしていない場合、asp.net は暗号化された認証チケットを URL に埋め込みます。ユーザーがたまたま他のユーザーとリンクを共有したり、直接フォーラムに投稿したりした場合、そのユーザーは自分のアカウントに意図しないアクセスを許可しています。

于 2009-03-23T15:56:06.050 に答える
1

ロードバランサーがどれほどスマートで、ページもキャッシュしているかどうか疑問に思っています。

メンバーシップ Cookie は非常にロックダウンされているため、侵害されている可能性は非常に低いです。ロードバランサもキャッシュしている場合、リクエストが渡されない可能性があります。

于 2009-05-27T18:50:25.870 に答える