@maxnilov

Можно ли спрятать адрес api?

Разбираюсь с angular 4
Делаю простой новостной сайт.
Получается на angular - фронтенд - показываю новости пользователю.
Данные хранятся и читаются с firebase.

Не совсем понятно:

1. Все что я программирую (фронтенд) - он весь виден пользователю при просмотре кода. То есть при желании он может покопаться в коде фронтенда.

2. Получается физически данные от базы данных получает скрипт на клиенте - в браузере у пользователя. То есть при желании пользователь может увидеть адрес бекенда. Все рекомендуют делать rest api и отдавать данные в формате json. А так как сайт без регистрации, то по этому бекенду пользователь может сам получать данные напрямую с firebase. И например полностью выкачать мой сайт.

3. Получается если использовать firebase, то зная его адрес, можно обращаться кому угодно к нему напрямую. Например, встроить мои бекенд-данные в другое место. Например сделать свой фронтенд и показывать мои данные?

4. То есть рекомендации для использования связки angular+rest api - это проект с авторизацией, у которого вся логика спрятана в бекенде, а фронтенд - только показывать данные в бекенда?
  • Вопрос задан
  • 275 просмотров
Пригласить эксперта
Ответы на вопрос 2
@davidnum95
Для этого существует CORS.
Ответ написан
dmnBrest
@dmnBrest
Salesforce for money. Python, Go, Ruby for soul.
Если API открыт, то он уже открыт для всех и ничем его не закроешь на фронтенде.
Даже если код будет минифицирован и нечитаем как писали выше, то сами запросы к API очень просто увидеть в консоли браузера или используя специальные прокси. А дальше эти запросы можно воспроизвести откуда угодно и как угодно. Если на закрыть API то только авторизацией. Все остальное пустая трата вашего времени на пустую тему. Если кто-то заинтересуется вашим API это будет скорее плюс к тому что проект развивается в нужном направлении и имеет успех :)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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