@ironheaddd

Как правильно прописать блокировку GET на nginx?

Сейчас сижу на CF, есть правила WAF 62c3e7318d1fb807056496.png
Вот они же текстом:
(http.request.uri.path eq "/" and http.request.full_uri contains "?" and not http.request.uri.query contains "preview" and not http.request.uri.query contains "mvc" and not http.request.uri.query contains "utm_source")


Теперь вопрос: как корректно прописать эти правила в nginx, чтобы отключить их на CF?
Пробовал вариант с:
location ~ /\? {
		deny all;
	}
	location ~ /\?preview {
		allow all;
	}
	location ~ /\?mvc {
		allow all;
	}
	location ~ /\?utm_source {
		allow all;
	}

но не прокатило.

PS разместил вышеуказанные локейшены в самом начале блока server
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
@dodo512
if ($request_uri ~ "^/\?(?!preview|mvc|utm_source)") {
    return 403;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
в

location ~ /\? {
deny all;
}


входят все нижестоящие, т.е. он срабатывает не доходя до
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы