ホームページ >バックエンド開発 >Python チュートリアル >FastAPI でリクエスト レート制限を実装し、悪意のあるリクエストを防ぐ方法
FastAPI でリクエスト レート制限を実装し、悪意のあるリクエストを防ぐ方法
はじめに: Web 開発では、リクエストが頻繁、悪意のあるリクエスト、またはリクエストが多すぎる状況によく遭遇します。これらの状況はサーバーにとって有害である可能性があります。ストレスやセキュリティ上のリスクさえも生み出します。 FastAPI では、リクエスト レート制限を実装し、悪意のあるリクエストを防止することで、サーバーの安定性とセキュリティを向上させることができます。この記事では、FastAPI でリクエスト レート制限を実装し、悪意のあるリクエストを防ぐ方法と、対応するコード例を紹介します。
1. リクエスト レート制限
リクエスト レート制限とは、リクエストの多すぎによるサーバーのクラッシュや頻繁なリクエストによるパフォーマンスの低下を防ぐために、クライアントのリクエストを制限し、リクエストの頻度と数を制限することを指します。リクエストはお断りします。 FastAPI では、fastapi-limiter
ライブラリを使用してリクエスト レート制限機能を実装できます。
pip install fastapi-limiter
from fastapi import FastAPI from fastapi_limiter import FastAPILimiter app = FastAPI() @app.on_event("startup") async def startup_event(): # 设置请求速率限制,例如每分钟最多10个请求 await FastAPILimiter.init() @app.on_event("shutdown") async def shutdown_event(): # 关闭请求限速 await FastAPILimiter.shutdown() @app.get("/api/users") async def get_users(): return {"result": "success"}# #上記のコードにより、1 分あたり最大 10 件の
2. 悪意のあるリクエストの防止
悪意のあるリクエストの防止とは、サーバーへの攻撃を防ぐために悪意のあるリクエストを特定して拒否することを指します。 FastAPI では、
ライブラリを使用して、悪意のあるリクエストを防ぐ機能を実装できます。 #依存ライブラリをインストールする
pip install rebound
from fastapi import FastAPI from rebound.decorators import client_rate_limit app = FastAPI() @app.get("/api/users") @client_rate_limit(max_requests=10, interval_seconds=60) async def get_users(): return {"result": "success"}
/api/users
リクエストを送信できるように制限できます。制限を超えるリクエストは拒否されます。FastAPI が提供するミドルウェアとサードパーティ ライブラリを使用することで、リクエスト レート制限を簡単に実装し、悪意のあるリクエストを防ぐことができます。実際の Web 開発では、リクエスト レート制限や悪意のあるリクエストを防止する方法を、特定のシナリオやニーズに応じて適切に使用して、サーバーの安定性とセキュリティを向上させる必要があります。 上記は、FastAPI でリクエスト レート制限を実装し、悪意のあるリクエストを防ぐ方法についての紹介です。
以上がFastAPI でリクエスト レート制限を実装し、悪意のあるリクエストを防ぐ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。