阻止IP地址访问Heroku上的Flask应用程序?

use*_*806 5 python ip heroku flask gunicorn

我有一个需要阻止其访问的IP地址。在Heroku上运行Flask应用程序,我的服务器上每秒看到50个请求,这绝对不应该发生。

我熟悉在Apache服务器上使用htaccess,这里是否有类似的东西(Gunicorn服务器)?

Mar*_*ark 6

使用烧瓶 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)

  • 我编写了一个 python Flask 包来使用这种技术来禁止 IP 地址。https://github.com/Martlark/flask-ipban (3认同)

pau*_*ip3 2

尝试使用pre_request以下服务器钩子Gunicorn:

def pre_request(worker, req):
    if req.remote_addr != 'ip to be blocked':
        pass
Run Code Online (Sandbox Code Playgroud)