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

Как безопасно связать front и back приложения по api?

Как защитить бекенд от доступа к api с другого домена? Если на бекенде обрабатывать такие запросы
https://backend.site.ru/handler?method=get.all.news&page=2
и возвращать json, то с любого домена можно будет обратиться к серверу и получить информацию. Токен тоже вариант бесполезный, так как запросы идут с клиента. Если делать проверку по ip на сервере, на котором работает nodejs, насколько тяжело подменить ip?
  • Вопрос задан
  • 1261 просмотр
Подписаться 1 Оценить 2 комментария
Решения вопроса 3
sergiks
@sergiks Куратор тега JavaScript
♬♬
На сервере генерировать токен, привязанный ко времени и секрету, известному только вашему серверу. Например time=12345&hash=abcdef.

Можно в хэш включить ещё и IP адрес, с которого зашёл очередной клиент, и его User-agent.

Тогда клиенты, запущенные с вашего сервера будут иметь в коде верный токен, свежий, не старше, скажем, 15 минут. И будут его прикладывать к каждому запросу к API.

Злодеям придётся как-то узнавать каждый новый токен каждые 15 минут.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Проверьте A-запись DNS по IP-шнику. Если есть - значит это домен/сайт. Ну и дальше - решайте.
Ответ написан
@miserenkov
Middle PHP Developer
Гуглите cors заголовки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Viktor_P
Не уверен на 100%, но я бы начал копать в эту сторону:
1. Перевести https://backend.site.ru/ на https://site.ru/backend и отключить CORS
2. Либо же указывать строго Access-Control-Allow-Origin
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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