2012-03-21 2 views

答えて

0

かなり簡単にMembershipProvider.ValidateUser()を実行し、無効な場合はMembershipProvider.GetUser()メソッドを使用してユーザーを名前で検索できます。もしあなたが誰かを見つけたら、あなたは彼らのパスワードが間違っていると彼らに伝えることができます。

つまり、攻撃者に私のシステムに有効なユーザー名を設定する簡単な方法を与えたくありません。 YMMV。

+0

ありがとうございます。セキュリティホールを導入したくないので、私はそれに反対して決めました。そのトピックでは、VerifyNewUser()アクションメソッドでuser.GetPassword()を呼び出して、アカウントをアクティブにしてユーザーを自動的にログインさせたいと思っています。私は例外を受け取ります: "このメンバーシッププロバイダはパスワード取得をサポートするように構成されていません。" 私はこれを有効にすることができますが、別のセキュリティホールを紹介していますか? EDIT:httpリクエストでパスワードを渡すことは間違いないので、他のオプションは表示されません。 – parliament

+0

実際には、VerifyNewUser()アクションメソッド内でパスワードを取得するより良い方法があります。私は本当にハッシュ/塩のアプローチを保つことを好むだろうが、私はこの1つの方法で "GetPassword()"する必要があります。私はこの1つのコール= \多分httpを介して実際のハッシュ値を送信するためのシステムセキュリティ全体を妥協したくないのですか?お知らせ下さい。 – parliament

+0

あなたが承認するように設定しない限り、新しいユーザーがログインしていると思うので、そのパスワードを取得する必要はありません。 –

関連する問題