如何通过Flask-limiter更改Redis中存储的密钥名称?
发布于 2021-09-10 14:58:39
您可以设置密钥前缀
limiter = Limiter(
app,
key_func=get_remote_address,
default_limits=["200 per day", "50 per hour"],
storage_uri='redis://localhost:6379',
key_prefix='DTM',
)这会将键名从
LIMITER/127.0.0.1/slow/1/1/day至
LIMITER/DTM/127.0.0.1/slow/1/1/day发布于 2021-09-14 17:42:28
通过namizaru添加到响应中:您只能使用该库控制密钥的某些部分。
给定namizaru中的示例:
LIMITER/127.0.0.1/slow/1/1/day字符串"LIMITER“来自Flask-limiter包装的限制库(https://github.com/alisaifee/limits)。我看不到一个很好的方法来覆盖它。
"127.0.0.1“是传递给Limiter (get_remote_address)的key_func参数的结果,据我所知,它应该返回标识速率限制资源的唯一字符串。因此,您可以在那里提供自己的callable,但这只会更改密钥的一部分。
同时,分隔符("/")也来自limits库,并且看起来不可重写。
https://stackoverflow.com/questions/69128024
复制相似问题