問題タブ [ratelimit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - API レート制限は、javascript リクエストをドメインの IP から送信されたものと見なしますか?それともユーザーの IP から送信されたものと見なしますか?
API には、特定の IP アドレスからのヒット数に基づくレート制限があります。
私のリクエストは AJAX であるため、ページのどこかにある JavaScript によって実行されます。
レート制限されている IP は、クライアントまたはサイトの IP として表示されますか?
django - ディクショナリ攻撃を防ぐために、Nginx で Django 管理者ログインをレート制限する
辞書攻撃を防ぐために、Django 管理者ログインのレートを制限するさまざまな方法を検討しています。
1 つの解決策がここで説明されています: http://simonwillison.net/2009/Jan/7/ratelimitcache/
ただし、Nginx を使用して、Web サーバー側でレート制限を行うことをお勧めします。
Nginx のlimit_req
モジュールはまさにそれを行います - 1 分あたりの最大リクエスト数を指定し、ユーザーがそれを超えた場合は 503 を送信できます: http://wiki.nginx.org/NginxHttpLimitReqModule
完全!Django 管理者のログイン ページが一貫した場所にないことに気付くまで、クラックしたと思っていました。たとえば、/admin/blah/ は、標準のログイン ページにバウンスするのではなく、その URL でログイン ページを提供します。
そのため、URL で一致することはできません。管理ページが表示されていることを知る別の方法を考えられる人はいますか (応答 HTML を正規表現しますか?)
mysql - MySQL 行に保存されている日付を検索し、その日付以降のすべてのエントリを 1 つのクエリで検索します
レート制限の目的でアクションを格納するテーブルがあります。私がやりたいのは、「key_action」(レート制限の時間を開始するアクション) を持つ最新の行をフェッチし、その日付以降のすべてのエントリを見つけることです。
現在考えられる唯一の方法は、次の 2 つのクエリを使用することです。
SELECT created_at FROM actions WHERE key_action=1 ORDER BY created_at DESC LIMIT 1
SELECT * FROM actions WHERE created_at >= (created_at from query 1)
これら 2 つのクエリを 1 つに結合する方法はありますか?
php - レート制限に達することなく、1 つのサイトで複数の Twitter ユーザーのフィード
PHP を使用して Web サイトに配信し、MySQL でツイートをキャッシュしたい多数の Twitter ユーザーがいます。ただし、API にアクセスするたびに、レート制限の問題に困惑しているようです。私がすべてのユーザーに行うすべてのリクエストは、リクエストとしてカウントされるようです。これは当然のことです。
他のサイト*がこれとまったく同じことを成功させていることに気付きました。彼らはどのようにこれを回避していますか、単にホワイトリストに登録されているだけですか、それとも私が見逃しているテクニックがありますか?
java - 特定のシナリオに対するレート制限アルゴリズムの提案
以下のレート制限のユースケースを実装するための最良のメカニズムは何ですか? Token Bucket のような一般的なアルゴリズムを使用できますが、memcached のコンテキストで実装したいと考えています。これに関するヘルプに感謝します。
- 顧客 ABC からの電話は 1 日に 100 件のみ許可します。
- 顧客 ABC に対して 1 時間に 50 回の API 呼び出しのみを許可します。
- 任意のユーザー ID について、顧客 ABC に対して 1 時間に 5 つの API 呼び出しのみを許可します。
api - 自分のIPがDeezerAPIのブラックリストに登録されているかどうかはどうすればわかりますか?
ローカルマシンで、URL http://api.deezer.com/2.0/search/artist?q=feederにアクセスし、正しいjsonデータが返されるようにします。ライブサーバーで、同じURLをカールして、jsonを返します。
httpステータスコードは200ですが、同様の負荷でローカルマシンでテストしたため、レート制限に達していないようです。
サーバー上の他の誰か(ここでは共有ホスト上)がAPIにヒットしてブラックリストに登録されているか、レート制限に達してもその事実の通知がない場合でも応答するのではないかと疑うことができます。
誰か提案がありますか?現在、数時間待ってから再試行することはできませんが、困惑しています。
(PS十分な担当者がいる人は、「Deezer」タグを作成したいですか?)
java - github java api アプリケーションを承認する最良の方法
私は github Java API を使用しており、リポジトリとそのユーザーに関する情報を取得したいと考えています。私の質問は、API へのフル アクセス (5000 リクエスト/時間) を取得するためにリクエストを承認するにはどうすればよいかということです。また、API レート制限に到達しないように、アプリケーションに残っているリクエストの数をいつでも確認する方法があれば、非常に助かります。以下のコードは私が今行っていることですが、このコードではレート制限を超えています。
java - Javaレート制限ロジック
各スレッドがdbにデータを書き込むJavaでマルチスレッドアプリケーションを設計するためのアルゴリズムを探しています。1秒あたりにdbに書き込まれるレコードの数を制御したいと思います。
アプリケーションはRPS(records per second)パラメーターを取得し、それらの多くの負荷をほぼ生成します。
python - Django RateLimit 403 ページが置き換えられない
プロジェクトに django-ratelimit をセットアップしましたが、訪問者が制限に達したときに醜い 403 エラー ページを削除できないことを除いて、正常に動作しているように見えます。彼らがドキュメントで言っているように、私はそれを置き換えようとしています。
カスタム ビューを使用して Ratelimited 例外を処理するオプションのミドルウェアがあります。これを使用するには、ratelimit.middleware.RatelimitMiddleware を MIDDLEWARE_CLASSES (リストの一番下) に追加し、RATELIMIT_VIEW を使用するビューのフル パスに設定します。
RATELIMIT_VIEW で指定されたビューは、リクエスト オブジェクト (レート制限処理後) と例外の 2 つの引数を取得します。
これが私のコードにあるものです:
設定:
ビュー:
私は何を間違っていますか?
machine-learning - レート制限された API での次の再試行までの遅延を予測する
レート制限する API を使用しているため、URL に頻繁にアクセスすると、要求を待機して再試行する必要があります。議論のために、特定のレート制限のしきい値が何であるかがわからない(知っていたとしても、アプリにハードコードしたくない)としましょう。
API 呼び出しを行って、それが成功するのを確認するか、レート制限されているという応答を受け取ってすぐに再試行し、API を正常に完了するまでのすべての試行の合計時間を記録できます。電話。
レート制限に達した後、API 呼び出しを再試行する前に待機する必要がある最小時間を予測するには、どのアルゴリズムが適していますか?