【发布时间】:2021-09-10 04:22:33
【问题描述】:
我的 GCP 应用被一些用户滥用。为了阻止他们的使用,我试图消除可能被滥用的功能,并使用防火墙规则来阻止某些用户。但是不良用户继续尝试通过某些旧 URL(例如 myapp.appspot.com/badroute)访问我的应用程序。当然,我还是希望用户使用默认网址myapp.appspot.com。
我已按以下方式更改了我的代码,但我仍然让实例从它们开始,并且我不希望在这种情况下使用实例。我可以采取哪些不同的措施来避免不良实例启动,或者我可以采取什么措施来强制此类实例快速停止,而不是在大约 15 分钟后停止?
class Dummy(webapp2.RequestHandler):
def get(self):
logging.info("Dummy: " )
self.redirect("/")
app = webapp2.WSGIApplication(
[('/', MainPage),
('/badroute', Dummy)],debug=True)
(当我应该提到请求时,我可能会提到实例。)
【问题讨论】:
-
您能否详细说明除了通过 myapp.appspot.com 访问应用程序的请求之外,您如何确定哪些请求是错误的?
-
如果他们请求 url
.../badroute,他们是“坏的”。那是一条编造的路线。如果他们请求.../或任何其他网址,他们还不错。因为 GCP 启动的实例不会在 15 分钟内停止,即使我已将 app.yaml 中的 max_instances 设置为 1,我仍要为这些用户付费。这个应用程序是一个使用非常少的应用程序,所以我不希望为实例付费。 -
您能否详细说明您如何管理身份验证和授权以及这些不良用户是否经过身份验证?
-
我删除了验证码,因为需要在缩略图中识别对象的较新版本对用户来说太复杂了。这可能导致了这些问题。不良用户未通过身份验证。