私のサイトでは、さまざまな理由でユーザー リクエストを調整する必要があります。
- データベースまたはサード パーティの API の過剰なクエリを防止する
- スパムを防ぐ
- 他人が私のデータをスクレイピングするのを防ぐ
スロットリングのベストプラクティスは何ですか? スクリプト レベル (PHP/MySQL) またはサーバー レベル (Apache) で実行する必要がありますか?
また、スロットリングに関して覚えておくべき特定のベスト プラクティスはありますか?
私のサイトでは、さまざまな理由でユーザー リクエストを調整する必要があります。
スロットリングのベストプラクティスは何ですか? スクリプト レベル (PHP/MySQL) またはサーバー レベル (Apache) で実行する必要がありますか?
また、スロットリングに関して覚えておくべき特定のベスト プラクティスはありますか?
これは、理想的にはネットワーク/ファイアウォールレベルで、または少なくともApacheで実行する必要があります。
PHPスロットリングも可能ですが、遅延させるだけでなく、リソースへのアクセスを拒否する場合にのみ実行する必要があります。詳細については、同様の質問で行ったこの回答(およびコメント)を参照してください。
私の頭の上から、あなたが使用を検討したいかもしれないいくつかがあります:
1) JavaScript を使用してフラグを設定する間隔を作成し、フラグを使用してチェックバックして、間隔期間内にリクエストが行われないことを確認できます。
2)PHPを使用して、実行中のセッションにリクエスト時間を保存し、それをチェックして、頻繁にリクエストを行わないようにすることができます。
3) MySQL を使用して、最終アクセス時刻をログに記録し、リソースの使用を許可するかどうかを確認できます。
一般に、これらのメソッドはクライアント側とサーバー側に分けられます。最も快適で、自分にとって最も便利な方を展開してください。
すべての展開で Apache サーバー構成を変更できるわけではありません :)
それが役に立てば幸い。乾杯!