Рейтинг:1

Игнорирование любых и всех параметров URL для усиления безопасности. Как?

флаг us

Любой, кто подключает сервер NGINX к сети и смотрит на его доступ.log через неделю будет предпринято множество попыток эксплойтов URL. Каждый день, в любое время.

Так что, если бы я должен был отклонить все параметры URL-адреса. Что, если бы каждая строка запроса была замаскирована с помощью NGINX? переписать который не сможет соответствовать чему-либо, не определенному как переписать естественно возвращая 404 Not Found?

Или серию переписываний по порядку, размещенных внутри этого всегда присутствующего блока локации?

место расположения / {
  переписать "^/api/v1/users/?$" /api/v1/Users.php последним;
  переписать "^/api/v1/users/(all|active|inactive)?$" /api/v1/Users.php?status=$1 last;
  переписать "^/api/v1/users/(\d+)/?$" /api/v1/Users.php?userId=$1 последним;
}

# Примеры соответствия URL...

http://локальный/апи/v1/пользователи
http://локальный/апи/v1/пользователи/

http://локальный/апи/v1/пользователи/все
http://локальный/апи/v1/пользователи/активный
http://localhost/api/v1/users/неактивный

http://локальный/апи/v1/пользователи/2001
http://локальный/апи/v1/пользователи/2002
http://локальный/апи/v1/пользователи/2003

Есть ли способ заставить NGINX игнорировать параметры URL? Не стесняйтесь, дайте мне знать, если это наивный вопрос. Возможно, я задаю неправильный вопрос.

Рейтинг:1
флаг mx

Скорее используйте возвращаться вместо переписать так как "директива перезаписи может возвращать только код 301 или 302". Для этого создайте место расположения с регулярным выражением, чтобы поймать конкретный uri запроса.

И если вы просто хотите отбросить все эти запросы, верните http статус 444.

Пример:

сервер {
    # ...
    расположение ~* ^/api/v1/users/.*$ {
        вернуть 444;
    }
}
suchislife avatar
флаг us
Можете ли вы добавить пример местоположения, которое передает параметры, как в моих примерах «перезаписи»? Я просто никогда не мог преобразовать это.
digijay avatar
флаг mx
Это регулярное выражение должно соответствовать всем вашим примерам, или я что-то пропустил?
suchislife avatar
флаг us
Ага. Вы привели пример блокировки. Мне нужно было увидеть пример, который сосуществует с вашим примером. Другие перезаписи превратились в блоки местоположения.
digijay avatar
флаг mx
Я думаю, что когда вы хотите назначить обратные ссылки на разные параметры в перенаправлении, тогда «серия перезаписей» - единственный жизнеспособный способ. Я до сих пор не уверен, понял ли я, чего именно вы пытаетесь достичь, извините.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.