Nginx-如果之前没有发出GET请求,则阻止POST请求
我尝试制定一条规则,如果IP地址以前没有发出GET请求,则阻止POST请求,以减少垃圾邮件机器人程序/ddos攻击的数量。 我不想使用CAPTCHA,因为它们对最终用户不是很友好 我是根据这篇文章得出这个想法的: 这就是我目前的情况: 如果请求类型为POST,则将ip地址(http_x_forwarded_for catch proxy)映射到$limit变量Nginx-如果之前没有发出GET请求,则阻止POST请求,nginx,firewall,spam,Nginx,Firewall,Spam,我尝试制定一条规则,如果IP地址以前没有发出GET请求,则阻止POST请求,以减少垃圾邮件机器人程序/ddos攻击的数量。 我不想使用CAPTCHA,因为它们对最终用户不是很友好 我是根据这篇文章得出这个想法的: 这就是我目前的情况: 如果请求类型为POST,则将ip地址(http_x_forwarded_for catch proxy)映射到$limit变量 map $request_method $limit { default ""; POST
map $request_method $limit {
default "";
POST $http_x_forwarded_for;
}
我是否需要在GET请求时创建一个白名单,甚至创建一个cookie,然后在POST请求“生效”时检查它。
我不知道在Nginx是否能做到。
我不想在PHP上这样做