ホームページ >バックエンド開発 >PHPチュートリアル >PHP制限リクエストのリーキーバケットの実装

PHP制限リクエストのリーキーバケットの実装

WBOY
WBOYオリジナル
2016-06-20 12:30:56988ブラウズ

ここ数日、Youmaiba が子供たちから攻撃を受けており、CDN 帯域幅が急増し、一部のページ リクエストにも影響がありました。 Nginx で ngx_http_limit_req_module を使用することに加えて、ユーザー エクスペリエンスに影響を与える Nginx が 503 エラーを報告するのを避けるために、PHP レベルでいくつかの最適化を行う必要もあります。

簡単な議論の後、解決策が決定されました。ユーザー (各セッション SID に基づく) が 1 秒あたり 3 リクエストを超えると、確認コードが表示され、それが完了するまですべてのページへのアクセスが禁止されます。検証コードが正常に入力されました。

ユーザーが確認コードを要求すると、次の確認ページが表示されます。

コードの変更を減らすために、各フロントに-end コントローラー クラス プログラム エントリでリクエストの数を制御するために親クラスが追加されます。 コード スニペットは次のとおりです。

最後に、結果を表示します:)

オンラインになった後、確認コード ページにより応答が速くなり、リクエスト数がわずかに増加し、総帯域幅使用量が 10 分の 1 近く削減され、トラフィックも大幅に減少しました。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。