Некоторые из URL-адресов с большим количеством SQL в моем приложении (скажем, /members
) подвергаются атакам ботнетов. Поэтому я хотел бы запретить кому-либо публиковать сообщения по этому URL-адресу, а другим разрешить их ПОЛУЧАТЬ.
Я пробовал сделать такой вложенный цикл:
if ($request_uri ~ .*members^) {
if ($request_method = POST ) {
return 444;
}
}
Но nginx этого не принимает.
Я тоже пробовал эту директиву
location ~ "^/members$" {
if ($request_method ~ ^(POST)$ ) {
return 444;
}
}
но этот тоже отрицает ПОЛУЧЕНИЕ.
Так что невежественный и ценю вашу помощь.
Попробуй это:
location ^~ /members {
limit_except GET {
deny all;
}
}
Отклонить все запросы, кроме GET
.