假设我已经公开了这样的POST端点。向Stripe发送请求时可能会有半秒延迟,在此期间,对端点的请求将生成更多条带请求。
@PostMapping("/customer/create")
@ResponseBody
public void createCustomer() {
stripeService.createCustomerForAccount();
}
问题是有人可以发出50个请求,它将创建50个客户。怎么预防呢?我的想法是限制用户(他的会话,IP或其他),以便他只能在1秒内向该端点发出1个请求。可能吗?也许将一些布尔值设置为true直到它完成,但是我应该怎么做才不影响其他用户呢?
如果你试图阻止一种不明确的攻击方式,你可以复习一下你的应用程序验证码,例如google one。