2016-07-18 6 views
2

私はいくつかの休憩サービス(ジャージー)を提供するWebアプリケーションを持っています。ほとんどのエンドポイントはBASICの認証によって保護されています。さらに私は、すべての呼び出しに対して、転送と要求のPOSTにSSLを使用します。 クライアント/コンシューマーはアンドロイドアプリです。ユーザー認証前の安全な休憩サービス

これまでのところとても良いです。脆弱であると思われる唯一のサービスは登録です。これは「最初の」サービスであり、ユーザーはまだ存在しません。だから私はOAuthなどを使うことはできません。エンドポイントをユーザーが容易にアクセスできるようにしなければなりません。

このサービスを保護するにはどうすればよいですか?私のデータベースを氾濫させるボットによってスパムされないのですか?

+0

クライアントは既知のユーザーグループですか?それとも誰か外から来たの? – aksappy

+0

アプリをダウンロードした人だけ...少なくとも私が望むものは。残りのサービスはインターネット経由でアクセスできます。それは他のクライアントにもなる可能性があります... –

答えて

0

これらについてはどうですか?

  1. リクエストパラメータにトークンを含む登録リンクを使用します。いつかトークンが期限切れになることを確認してください。クライアントが有効なトークンを取得できるように、トークンエンドポイントURLを作成することもできます。
  2. リクエストにカスタムヘッダーまたは動的カスタムヘッダーを使用します。さらに、動的カスタムヘッダーをチェックして、要求の信頼性を検証することもできます。
  3. 登録が完了するとすぐにメール/テキスト確認などの登録確認ワークフローを使用します。プロセスを毎日実行して、x日間などで検証されていないユーザーアカウントを削除します。

実際に登録URLをHTTPで保護することはできません。 IMHO、登録URLを持っている人は誰でも登録しようとする人かもしれません。だからあなたが私に尋ねると、オプション3は他のものより優れています。

+0

...私は疑いました。私はすでに登録確認ワークフローを使用しています。私はいくつかのIPTABLESルールと組み合わせて、ddos攻撃を防ぐために短時間で同じIPからの接続を制限しました。さらに、私は特定のデバイスと話していることを確認するためにGCM通知について考えました... CAPTCHASでも私の頭を越えました:-)私はそれについて考えます。ご協力いただきありがとうございます。 –

+0

心配はいりません。あなたが何か言ったとき、私はUIベースではないクライアントを考えました。だからcaptchasは選択肢ではありませんでしたが、確かに私はあなたがすでにこれについてもっと多くをカバーしていると思います。 – aksappy

関連する問題