【发布时间】:2023-03-12 06:46:01
【问题描述】:
我刚刚开始学习 React 中的授权和身份验证,我是在使用 JWT 完成我的第一个简单登录系统后写这篇文章的,因为大多数人都知道你在浏览器中存储了一个令牌,然后你将它与保存的比较现在,当验证真正完成时,您后端中的令牌我将Authenticated Boolean 设置为true 并获得对网站的访问权限,在完成那个简单的系统后,我检查了反应开发工具,我发现我可以更改boolean到true 并绕过所有的身份验证工作!
我已经在网上搜索了资源和教程来解决这个巨大的问题,但没有找到我要寻找的东西,我发现的只是如何设置身份验证或保护路由器,就像我所做的那样,但没有得到深度保护.
那么任何人都可以推荐一个付费或免费的课程或教程来了解有关安全性和身份验证的更多信息吗?
【问题讨论】:
-
这就是为什么您需要检查服务器上的所有内容。
-
@SLaks 你的意思是每次用户进入一个页面时我必须向服务器发送检查请求?这不会给服务器带来额外的负担吗?此外,如果有很多页面,将检查方法添加到所有这些页面会很耗时
-
一般我认为网页分为两部分:数据和展示。演示文稿(通常是您的 react/html/css 代码)不容易得到保护(通常也不需要),但数据可以而且应该得到保护。保护数据就像只发送您希望用户有权访问的数据一样简单,仅此而已。这是在服务器端完成的。 您应该假设您通过互联网发送的任何内容都可以被用户阅读,即使您没有将其显示在网页上。
-
@SimpleWebDesigner 您必须在每个请求中将 JWT 令牌发送到您的后端(即在访问/创建/更新/删除数据时)。然后,如果用户未通过身份验证,他将看到应用程序,但看不到任何数据,也无法对您的数据库执行任何操作。