如何使用 Flask 拒绝来自机器人的请求

问题描述 投票:0回答:2

我最近用 Flask 做了一个网站,并用 pythonanywhere 成功发布了它。但是,我不断收到来自机器人的使用奇怪网址的请求。他们显然是在尝试访问常见的 WordPress 页面,因为所有 URL 的字符串中都有“wp-”。

我正在尝试找到一种方法来完全阻止这些请求,以免浪费计算机空间。我已经找到了一种不响应页面的方法,但我仍然收到 GET 请求。如果 url 中包含某些文本,有没有办法甚至不接收 GET 请求。

到目前为止我尝试过的是:

@app.before_request
def before_request():

    if "wp-" in request.path:
        print("BOT INTRUDER!!")
        return Response(status=204)

我的网站现在不响应网址中带有“wp-”的请求,但查看访问日志,我仍然收到 GET 请求

python flask
2个回答
0
投票

这些请求将始终出现在您的访问日志中。它们仍然是由您的网络应用程序处理的请求。


0
投票

我对此事的两点看法: 必须有人来处理它。如果您希望您的应用服务器免受不必要的请求,您可以考虑一些第三方解决方案,例如 Cloudfare。 或者专用大量具有足够带宽的服务器来过滤应用程序服务器的流量(看起来不切实际。)

© www.soinside.com 2019 - 2024. All rights reserved.