安らかなAPIにセッションがないうちに、安心してapiで試行回数を管理するにはどうすればよいですか?安らかなAPIでエンドポイントへの試行回数を管理
答えて
token_storage_tblなどのデータベース内のテーブルを作成し、その後、3つの列を追加します。TID(int型)255 PK AI、トークン(varchar型)1024、times_used int型(255)
あなたは、クエリへの接続を使用することができますとtimes_usedテーブルをインクリメントします。その使用されて回数を調べるに
$smtp = $pdo->Prepare('UPDATE token_storage_tbl SET times_used = ? WHERE token = ?');
$smtp->execute(array(....));
:
$maxUse = 3;
$smtp = $pdo->Prepare('SELECT times_used FROM token_storage_tbl WHERE token = ?');
if($smtp->execute(['token here'])->fetch()['times_used'] > $maxUse) {
// oh no... its been used too much
}
RESTfulを使用していることを考慮すると、開発者はトークンをエンドポイントに送信して情報を取得することができますが、ブルートフォースを止めることはできません。あなたがそのルートを考えているなら、IP失敗の試みを記録し、疑わしい活動を監視するのが最善です。 IPが1時間以内にデータを5回間違って要求した場合、疑わしくなります。 – KDOT
トークンジェネレータのエンドポイントが存在し、侵入者が必要なだけ多くのトークンを生成できる必要があります。 – HPM
認証を使用しているため、実際はありません。攻撃者が要求しているアクセススコープを確認するユーザーが攻撃者が要求していない限り、トークンは攻撃者によって生成されません。その場合にのみ、トークンを取得してエンドポイントに渡すことができます。したがって、ユーザーがリスクを知っていることを確認し、後で(Auth 2.0のような)@HPM – KDOT
あなたが求めているものは、あなたの残りのAPI用のカスタムセキュリティロジックです。それは決して休息APIの一部であってはなりません。 restはそのようなセキュリティロジックを実装すべきではなく、APIとして実行されるべきものだけを行うべきです。
カスタムセキュリティロジックのレイヤリングを確実に行うことができます。コールの保守や監査を行うフィルタを追加して、APIのセキュリティを強化するために使用できます。
確かに、特定のクライアントによる呼び出し回数を確認するためには、持続する必要があります。
APIに自分自身のセキュリティロジックを持たせる必要があるユーザーを管理することができます。特定のエンドポイントが公開されており、そのエンドポイントへのアクセス数を制限する必要があります。それを処理する一般的な方法は? – HPM
- 1. APIエンドポイントを定数として管理
- 2. 一般的なエンドポイントと特定のエンドポイント - 安らかなAPIデザイン
- 3. grape apiエンドポイントでアクティブな管理者ユーザーを認証します
- 4. Google APIのAPIキーをバージョン管理することは安全ですか
- 5. 試行回数を1から0以外で試してみよう
- 6. GAEでのエンドポイントV2のバージョン管理
- 7. アイデンティティロールが管理者でない場合、Web ApiからMVCコントローラへリダイレクト
- 8. Visual Studioで「管理からネイティブへの移行」を実行しますか?
- 9. Webサイトから安全ではないエンドポイントをHTTPS-nginxで実行する
- 10. WebSphere APIへのアクセス(管理コンソール/ Wsadmin)
- 11. Java - 安全なセッション管理のベストプラクティス
- 12. 安心なエンティティのバージョン管理
- 13. Springブートアクチュエータ管理エンドポイント例外処理
- 14. なぜ安らかなAPIですか?
- 15. IronPythonから管理値クラスへのマッピング
- 16. VSSからSVNへの移行の管理
- 17. iMacros Http APIエンドポイントへのPOST
- 18. Google管理対象VMで複数回実行されたスクリプト
- 19. BDDキュウリ試験管理ツール
- 20. Django 1.3から1.10への移行不要なサフィックスを管理URLに追加
- 21. Magento - グリッドから管理コントローラへの変数の取得
- 22. symfonyによる安全なファイル管理
- 23. Restエンドポイントのバージョン管理とURIのエイリアシング
- 24. AngularJsから安らかなapi関数を呼び出す
- 25. バージョン管理:zipからgitへ
- 26. Glide:ネットワークエラー時のロード試行回数
- 27. SQL Serverジョブステップの再試行回数
- 28. Retrieve JMSメッセージの再試行回数
- 29. 送信試行の最大回数
- 30. クリティカルセクション2回目の試行ですか?
定義上、RESTful APIはステートレスなので、状態を必要とするログインを処理するには適していません。それはおそらく疑わしい活動を記録し、それに応じてIPアドレスをブロックすることをお勧めします。 – Mike