我的应用程序中的一些sql重点URL(比如/ member)正遭到僵尸网络的攻击。所以我想禁用任何人发布到这些网址,同时允许其他人获取它们。
我试图像这样制作一个嵌套循环:
if ($request_uri ~ .*members^) {
if ($request_method ~ ^(POST)$ ) {
return 444;
}
}
但是nginx不接受这个。所以想知道如何应用该指令?
更新:
我也试过
location ~ "^/members$" {
if ($request_method ~ ^(POST)$ ) {
return 444;
}
}
但是这个也否认GET。
所以仍然需要帮助。
答案 0 :(得分:0)
我会阻止这样的机器人(示例机器人):
if ($http_user_agent ~* LWP::Simple|BBBike|wget|Baiduspider|Jullo|msnbot|scrapbot) {
return 403;
}