Задать вопрос
@Meised

Можно ли как-то скрыть пути API запросов, или это вообще не нужно?

Сейчас по нему изучаю API контроллеры, эндпоинты и пишу свой сайт. Столкнулся с тем что когда пишешь контроллеры им указываются Route например /test. Если с /registration /login ещё ладно, то как быть с другими запросами, например связанными с базой данных? Шифровать как-то эти роуты или что? Или просто оставить, сделать jwt токены с уровнями доступа и этого хватит? Стоит ли писать рандомный набор символов в этих роутах?
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой 3 комментария
Решения вопроса 1
@d-stream
Готовые решения - не подаю, но...
Не нужно. Это сродни операции замены человекопонятных имён переменных, полей и классов на рандомные комбинации букв i,I и тп aka обфускации. "защитой" должен заниматься другой слой например тот же самый jwt как носитель билета доступа, выдачу которого и проверку легитимности осуществляют другие механизмы (аутентификация, авторизация и т.п.)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
vabka
@vabka Куратор тега Веб-разработка
например для защиты от злоумышленников

Когда ты защищаешься от злоумышленников - нужно представлять, от какой конкретно угрозы ты хочешь защититься.

Сокрыть пути ты точно не сможешь - они всё равно будут все показаны в панели разработчика в браузере.
Также они всё равно будут видны в исходниках твоего приложения в браузере.

Иногда есть смысл сделать нечитаемое имя для роута, чтобы усложнить жизнь всяким системам для автоматического исследования API методами перебора, или чтобы сделать невозможным вызов какого-то метода клиентом, который не знает заранее какой-то секрет, но при этом нет возможности использовать Authorization заголовок или какой-то иной способ аутентификации.

Но это очень специфичные сценарии, которые крайне редко актуальны, их не нужно применять по принципу "на всякий случай".
Ответ написан
Комментировать
Steel_Balls
@Steel_Balls
Не нужно этого делать. Все пути всё равно будут видны любым сниффером.
А вот защищать передаваемые даные надо. Да, JWT подойдёт для начала. Если нужно что-то серьёзное - то углубляйся в шифрование. А сами пути пусть будут видны. Главное, чтобы не расшифровали сами данные
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы