如何拒绝短时间内发送两次的同一个POST请求

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

我想知道是否有一种标准方法可以拒绝 API 网关本身在几秒钟内发送的具有相同正文的请求。

Forex:如果我尝试在几秒钟内在不同的群组中发布相同的内容,Reddit 会拒绝。同样,如果我第二次使用信用卡付款,它会自动拒绝。

我想知道是否有一种方法可以在 AWS API gateway 本身中具有相同的行为,这样我们就不会在带有 dynamoDB 和其他内容的 lambda 函数中处理它。

期待有效的方法。

amazon-web-services aws-api-gateway serverless-framework serverless api-gateway
2个回答
2
投票

API 网关目前提供类似的功能,您必须自己实现。

如果我要实现这一点,我可能会使用内存缓存(例如 ElastiCache for Redis 或 Memcached)作为重复数据删除的存储后端。 对于每个传入的请求,我将确定其独特之处,并从中创建一个哈希值。

然后我检查该哈希值是否已在缓存中。如果是这样的话,它就是重复的,我会拒绝该请求。如果它还没有在缓存中,我会添加它的生存时间为

n
秒(我希望删除重复的时间间隔)。


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