我有一个我需要阻止访问我网站的IP地址。在Heroku上运行Flask应用程序,我在服务器上每秒看到50个请求,这绝对不应该发生。
我熟悉在Apache服务器上使用htaccess,这里有类似的东西(Gunicorn服务器)吗?
答案 0 :(得分:0)
尝试使用Gunicorn
中的pre_request
服务器挂钩:
def pre_request(worker, req):
if req.remote_addr != 'ip to be blocked':
pass
答案 1 :(得分:0)
使用烧瓶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)