0

顧客がサイトにサインアップするときに、ユーザー名/電子メールが使用可能かどうかを顧客に知らせたいと思います。希望するユーザー名/電子メールが利用可能かどうかを顧客に示すjqueryスクリプトを提供する目的で使用されるhttphandlerがあります。

問題は、フィドラーでリクエストを表示すると、サービスが呼び出されているのがはっきりとわかることです。/emlhandler.asmx?name=xxxxxxxxxxx@yyy.comと表示されます

ハンドラーから、名前/アドレスが使用可能かどうかを示す単純な0または1が返されます。

私の懸念は、これは、経験の浅い人がサイト上のすべてのユーザーを発見するために悪用するのが非常に簡単な主要なセキュリティ問題のように思われることです。

では、友達の皆さん、どのようにしてサイト情報を保護し、それでもajaxコールバックが優れたユーザーエクスペリエンスを提供できるようにするのでしょうか。

ありがとう。ヒース

4

2 に答える 2

0

あなたはここで少し妄想的です。ユーザー登録を許可するすべてのサイトは、同様のことを行う必要があります。合理的にできることの 1 つは、ハンドラーの処理にわずかな遅延 (おそらく 2 秒または 3 秒) を追加して、ブルート フォース攻撃の可能性または容易さを軽減することです。率直に言って、誰も気にしないと思います。

もう 1 つのオプションは、ユーザーの登録が実際にアクティブになる前に、繰り返される電子メールを無視して確認電子メールを送信することです。新しいユーザーが既存の電子メールを使用しようとすると、元の電子メールの所有者が確認を受け取り、それをキャンセルまたは無視できます。しかし、これはお勧めしません。

私が使ったサイトの大部分は、すぐに「このメールアドレスは既に登録されています...パスワードを忘れましたか?」と言うでしょう。特定のサイトで電子メール アドレスが既に使用されていることを知っているだけでは、セキュリティ違反にはなりません。

于 2012-07-20T20:37:09.387 に答える
0

考えられる解決策の 1 つは、そのメソッドのPOST要求のみを有効にすることです。

また、別のドメイン (XSS - クロスサイト スクリプティング) の JavaScript から、承認なしにサービスを呼び出すことはできないため、保護されます。

ただし、この手法により、悪意のあるユーザーが Web サービスを呼び出してユーザー名を検出することは防止できますが、ユーザーがテキスト ボックスにデータを入力してサービスを強制的に呼び出すプロセスを自動化することは防止できません。X時間内にユーザーごとに許可できるリクエストの数だけを許可できます。

SessionWeb サービスからオブジェクトを使用して試行回数を追跡できます

別のアプローチとして、 re Captchaをサイトに追加することもできますが、ユーザーがユーザー名を取得できるようにしていて、ユーザーが書き込みを行ったらすぐにサービスを呼び出すと、応答性のレベルが低下します。実装すると、ユーザーはデータを送信するために自動生成されたキャプチャを作成する必要があります

于 2012-07-20T20:37:17.683 に答える