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

Как хранить настройки сайта?

Доброго времени суток!
Подскажите, как мне правильно поступить.
Имеется бекенд на expressjs, фронтенд на nextjs

На бекенде есть некоторые правила записанные в файле
на фронтенде есть небольшая админка, в ней через get запрос по api, я читаю этот файл
и вывожу данные в админку для будущих изменений.
Например
EnableRegister=true
Oauth=false
GOOGLE_SECRET_KEY=asndfksandklsandkasl
Далее другие настройки, например через сколько пользователь может удалить комментарий и тд


На фронтенте, чтобы мне применить определенную переменную
к примеру EnableRegister, я получаю весь файл в json потом обращаюсь к конкретной строке

Пользователь видит весь файл через консоль.
Потому что он обращается к конкретному get api url, который отдает ему этот файл и оттуда берется переменная

Как сделать так, чтобы не видел он этого?

Как делают настройки сайта, с редактированием в админке и при этом использует это на фронтенде и пользователь не может увидеть весь запрос.

Если хранить это все в БД, сути не меняет.
  • Вопрос задан
  • 180 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Два базовых правила:
1. Всё, что передаётся пользователю, он может увидеть.
Если не хотите, чтобы пользователь что-то видел, просто не передавайте это на фронт. Отправляйте только то, что пользователю можно видеть.
2. Всё, что приходит от пользователя требует проверки.
Если вы не хотите, чтобы пользователь мог прислать на бэк недостоверные данные, просто не принимайте их без проверки.
В обоих случаях, чтобы знать, что конкретному пользователю можно видеть и что он может прислать требуется аутентификация/авторизация как минимум для пользователей с повышенными правами.
Ответ написан
Wispik
@Wispik

пользователь не может увидеть весь запрос

Никак. Всё что приходит на фронт, пользователь видит. Можно конечно извратиться и шифровать ответ на сервере и расшифровывать на фронте. От простых юзеров это поможет, в девтулс будет видна зашифрованная строка. От тех кто в догадается открыть js это не поможет.
Но какой в этом смысл, ну и пусть пользователь видит, жалко что ли))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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