1

私のサイトでは、さまざまな理由でユーザー リクエストを調整する必要があります。

  • データベースまたはサード パーティの API の過剰なクエリを防止する
  • スパムを防ぐ
  • 他人が私のデータをスクレイピングするのを防ぐ

スロットリングのベストプラクティスは何ですか? スクリプト レベル (PHP/MySQL) またはサーバー レベル (Apache) で実行する必要がありますか?

また、スロットリングに関して覚えておくべき特定のベスト プラクティスはありますか?

4

2 に答える 2

1

これは、理想的にはネットワーク/ファイアウォールレベルで、または少なくともApacheで実行する必要があります。

PHPスロットリングも可能ですが、遅延させるだけでなく、リソースへのアクセスを拒否する場合にのみ実行する必要があります。詳細については、同様の質問で行ったこの回答(およびコメント)を参照してください。

于 2011-05-05T03:57:48.830 に答える
0

私の頭の上から、あなたが使用を検討したいかもしれないいくつかがあります:

1) JavaScript を使用してフラグを設定する間隔を作成し、フラグを使用してチェックバックして、間隔期間内にリクエストが行われないことを確認できます。

2)PHPを使用して、実行中のセッションにリクエスト時間を保存し、それをチェックして、頻繁にリクエストを行わないようにすることができます。

3) MySQL を使用して、最終アクセス時刻をログに記録し、リソースの使用を許可するかどうかを確認できます。

一般に、これらのメソッドはクライアント側とサーバー側に分けられます。最も快適で、自分にとって最も便利な方を展開してください。

すべての展開で Apache サーバー構成を変更できるわけではありません :)

それが役に立てば幸い。乾杯!

于 2011-05-05T04:11:33.960 に答える