【问题标题】:React: Can the global state of the stores be manipulated in the browser?React:可以在浏览器中操作商店的全局状态吗?
【发布时间】:2016-06-06 04:54:41
【问题描述】:

我构建 React 应用程序时的一个有趣的好奇心:

我注意到我们如何在浏览器中使用客户端代码和/或资源。 (例如更改 css、更改 html、更改 js 变量)。

这是否意味着我们也可以操纵商店的全局状态 来自浏览器?

例如,如果正在做客户端路由(所有客户端代码都在浏览器上) 我们正在检查商店数据以查看用户是否已登录以允许 路由 - 我们(或任何人)不能只是操纵商店状态吗 覆盖所需的登录名并在应用程序中随意走动?

我意识到这个例子可以在很多方面变得微不足道——但主要的问题是客户端应用程序代码的全局状态是否可以用来触发组件的不同渲染,而在 浏览器甚至渲染组件状态树的完全不同的部分。

注意:请原谅这可能暴露的任何重大无知迹象。哈哈。我只是不确定,我认为从开发和用户体验的角度了解很多原因会很有趣。

【问题讨论】:

  • 浏览器中的一切都可以被操纵。 document.write('Game over!') ;)
  • 从安全的角度来看:您永远无法确定您在服务器上收到的请求是否来自运行您的应用程序的浏览器。因此,您应该始终在服务器端实施安全检查。

标签: reactjs redux reactjs-flux


【解决方案1】:

是的,使用 React/Redux 开发工具,用户可以对存储中的数据做任何事情。所以你永远不应该在前端存储任何有意义的数据,并在服务器端验证每个用户请求。

【讨论】:

    猜你喜欢
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 2017-09-13
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    相关资源
    最近更新 更多