如何使用 nginx 设置 php 中特定查询的速率限制

如何使用 nginx 设置 php 中特定查询的速率限制

我有一个名为 php 文件“sample.php”

此文件以多种不同方式包含 query_string。一些无辜的用户每分钟可能使用这些 query_string 100 个请求(没有问题)。

但是有些query_strings一分钟最多使用2-3次,没必要使用更多。暴力攻击或ddos请求也来自这里。

我可以使用 nginx 速率限制将“sample.php”设置为每分钟 4 个请求,但这有时会导致无辜用户被阻止。我希望能够为某些 query_strings 设置速率限制,但我找不到精确的方法来做到这一点。

例如:

/sample.php?type=stb&action=handshake&token=

或者

/sample.php?action=handshake&type=stb&token=&mac=(随机字符串)

我想在这样的请求上加上 rate_limit 但我不知道该怎么做。(我并不是说把 rate_limit 完全放在 sample.php 中)

有谁能帮忙吗?谢谢。

相关内容