/?author=1
в ответ cms редиректит на
/author/nik
тем самым показывает ник админа под id=1, то есть
nik
мамкин хакер понимает что этот логин и есть логин админа для входа в админку, нужно как то средствами nginx отправить этот запрос на страницу 404 или свою любую другую страницу заглушку. Реально как-то сделать ?
сделай админом не первого юзера)
Перебор идет типа /?author=*
Короче все посты автора плюс показывает, понятно будет кто админ по количеству постов
реально
Ну самок простое - это просто возвращать 404 на запросы, где есть query argument "author" if (arg_author) { return 404; } Или немного сложнее, удалять такой аргумент из запроса if ($args ~ (.*)(^|&)author=[^&]*(\2|$)&?(.*)) { set $args $1$3$4; }
не надо каку с if-ом советовать. замени на map-у
Кака с if'ами - это например вот А здесь никакого смысла делать через map нет Даже наоборот, если через map делать, то операция по замене значения $args будет выполняться всегда, а не только когда его действительно надо менять Естественно, этот if в контекст server надо ставить, а не в location
Извини за возможно тупой вопрос а в какой location мне добавить это правило ?
Здесь вроде ясно написано, что это не в location, а на уровне server: https://t.me/nginx_ru/204810
if в контексте server и if в контексте location - это абсолютно разные вещи, вот именно что абсолютно if внутри location - это зло, таких if'ов надо избегать и я вместо такого точно бы советовал через map или ещё как-то
Обсуждают сегодня