【发布时间】:2019-02-26 01:10:14
【问题描述】:
我有一个 ReactJS 前端应用和一个 Laravel 后端应用。
我遇到了身份验证问题。我正在使用 Laravel auth 对用户进行身份验证,但在显示组件时遇到了一些麻烦。我有一些帖子(/posts/1 或 /posts/2 等...),当用户访问该页面时,如果他是作者,他可以修改帖子。
我将用户的 id 作为状态存储并像这样检查:
if(this.props.user.id === this.props.posts.id_user) ...
但这确实不安全,因为任何人都可以使用开发工具修改状态。通过修改状态,即使他不是作者,用户也可以修改帖子,因为他可以访问所有显示的管理编辑的组件。
有没有“神奇”的技巧来防止它?
【问题讨论】:
-
可悲的是,它真的没有魔法。您必须在后端验证尝试修改某些资源的用户是否有权这样做。
-
所以他可以通过改变状态来随心所欲地修改显示,但我仍然需要对后端进行检查,对吗?
-
是的,没错。如果用户在浏览器中弄乱了自己的数据,这不是问题,但是您需要防止用户在后端修改他们无权访问的资源。
-
那我去看看,谢谢它真的帮了我!
标签: reactjs laravel redux laravel-authentication