Django Middlewareはサーバーが再起動されると ip_count がリセットされる

2024年6月23日

上記のMiddlewareは、サーバーが再起動されるまで __init__ メソッドで初期化された self.ip_count 辞書にアクセス回数を保持しています。そのため、サーバーが再起動されると ip_count がリセットされます。

もし、アクセス制限を一時的に有効にしたい場合、サーバー再起動までの期間であれば上記のMiddlewareが有効です。しかし、サーバー再起動後に ip_count がリセットされ、新しいアクセスがまたカウントされるようになります。

もし、リブートしてもアクセス制限を維持したい場合は、ip_count の情報をデータベースやキャッシュなどの永続的なストレージに保存するか、サーバー再起動時にこの情報を保持するように調整する必要があります。

未分類

Posted by ぼっち