2016-02-24 2 views
2

Веселое любопытство, так как я создаю свое приложение для реактивов:React: Можно ли манипулировать глобальным состоянием магазинов в браузере?

Я замечаю, как в браузере мы можем играть с клиентским кодом и/или ресурсами. (например, сменить css, сменить html, изменить переменную js).

Означает ли это, что мы также можем манипулировать глобальным состоянием магазинов в браузере?

Например, если делать на стороне клиента маршрутизации (все клиент-код в браузере) и мы проверяем данные магазин, чтобы увидеть, если пользователь вошел в систему для того, чтобы позволить маршрутизации - мы не могли (или кто-то в этом отношении) просто манипулируют состоянием магазина , чтобы переопределить требуемый логин и просто обойти приложение в любом случае?

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

Примечание: Простите любые признаки серьезного невежества, это может быть разоблачено. Я просто не уверен, и я думаю, было бы интересно узнать по многим причинам как с точки зрения разработки, так и с точки зрения UX.

+0

Все в браузере можно использовать. 'document.write ('Game over!')';) – azium

+0

С точки зрения безопасности: вы никогда не можете быть уверены, что запросы, которые вы получаете на сервере, начинаются с браузера, на котором запущено ваше приложение. Поэтому вы всегда должны выполнять проверки безопасности на стороне сервера. – flup

ответ

3

Да, с помощью React/Redux Dev Tools пользователь может делать все с данными в магазине. Поэтому вы никогда не должны хранить какие-либо чувствительные данные на интерфейсе и проверять каждый запрос пользователя на стороне сервера.

Смежные вопросы