NodeJS express: ограничение доступа к маршруту - PullRequest
0 голосов
/ 16 февраля 2019

Я создаю проект express , и у меня есть несколько маршрутов для передачи данных в контроллеры внешнего интерфейса через ajax, например, они начинаются с /get_data.

Так что мой вопрос: какзащитить эти маршруты?Любой может легко получить к ним доступ.Я пытался сделать

app.use((req, res, next) => {
    if(!req.xhr) res.sendStatus(404);
    else next();
})

Но это не мешает ajax-вызовам с других сайтов получить доступ к данным.Так как же сделать его более безопасным?Если это невозможно, каким образом я могу предоставить данные для внешнего интерфейса?

1 Ответ

0 голосов
/ 16 февраля 2019

Один из вариантов - использование CORS (есть express middleware ).Таким образом, вы можете настроить свой маршрут для приема запросов только от определенного источника.Но источник может быть подделан.

Если у вас есть конфиденциальные данные, вы можете добавить аутентификацию (и, возможно, авторизацию) в ваше приложение.Есть много способов реализации этой, например, популярной библиотеки Passport.js .

Также есть некоторые подробности в ответах на Как реализовать безопасный REST API с помощью узла.js Задать вопрос .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...