2016-06-30 28 views
0

登録したユーザー名、電子メールアドレス、電話が既に存在するかどうかを自動的に確認する登録ページを作成しました。既にアカウントに登録されているユーザーがいる場合は、入力欄をクリックするとすぐに同じページに通知が表示され、既に登録済みで、別の値を入力する必要があります。登録自動入力検証セキュリティ/プライバシーに関する懸念

私の懸念は、誰かがこれらのフィールドに値をブルートフォースし、入力されたデータが既に登録されているかどうかを記録するスクリプトを書くかもしれないということです。そうすれば、登録されているすべてのユーザー名、電話番号、電子メールのリストを取得できます。

これは気にするもので、予防すべきものですか? IPごとに10〜20個の入力検証チェックしかできないようなものを実装できます。努力する価値はありますか?脆弱性および/または悪い習慣とみなされる、登録されたすべてのユーザー名のリストを漏らしていますか?

もし私がこれを防ぐべきだと思うなら、それについての最良の方法は何でしょうか?

+0

コード内のIPに応じて検証ブロックを設定しないでください。複数のユーザーが、同じデバイス(または状況によってはオフィスまたは国)でなくても、同じパブリックIPを持つことができます。サーバーは任意のブルートフォース攻撃(非常に短い時間内に同じエンドポイントに対する多くの繰り返し要求)を処理する必要があります。情報はどれくらい敏感ですか?標準的な[CSRF保護](https://en.wikipedia.org/wiki/Cross-site_request_forgery)は、通常十分に機能します。 –

+0

@MagnusEriksson入力いただきありがとうございます。 IPをチェックしていないと、実際の人間のトラフィックとブルートフォーストラフィックを簡単に区別することはできません。あなたは詳細を教えていただけますか?情報はあまり敏感ではなく、ただの教育プラットフォームですが、私はそれを正しく実行したいと思います。 –

+0

あなたはサーバーを(コードレベルではなくサーバーレベルで)ブルートフォース/ DDoSなどから保護することについての情報を検索する必要があります。私はCSRFを実装することから始め、その日が来るとブルートフォース攻撃に対してサーバーを保護することを心配します。 –

答えて

1

あなたはこのようなreCAPTCHAのようキャプチャを使用して、


  1. を以下のように使用して登録ページのブルートフォースを防ぐことができますが、そのようなあなたがする」などの一般的なメッセージを、使用して1
  2. を優先しました{email_id}に電子メールを受信します(まだアプリケーションに登録されていない場合)。しかし、あなたが言ったように、あなたはユーザー名、電子メールのIDと電話番号を確認したい。このような状況では、電子メールのIDや電話番号をOTPで検証することができます。ユーザーが電子メールIDまたは電話番号を検証すると(またはアプリケーションコンテキストごとに)、ユーザー名を選択するオプションを提供できます。しかし、悪質なユーザーはここでもユーザー名のブルートフォースを行うことができますが、このシナリオでは検証済みの電話番号/電子メールIDを使用して制限を設定できます。
関連する問題