使用烧瓶 before_request 装饰器。这将在每个请求之前被调用,因此您可以检查被禁止的 IP 地址列表。任何被禁止的地址都将被 403 中止,禁止。
from flask import request, abort, current_app as app
ip_ban_list = ['127.0.0.1']
@app.before_request
def block_method()
ip = request.environ.get('REMOTE_ADDR')
if ip in ip_ban_list:
abort(403)
Run Code Online (Sandbox Code Playgroud)
尝试使用pre_request以下服务器钩子Gunicorn:
def pre_request(worker, req):
if req.remote_addr != 'ip to be blocked':
pass
Run Code Online (Sandbox Code Playgroud)