首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在react通用web应用程序( react.js)中保持会话的安全方法

问在react通用web应用程序( react.js)中保持会话的安全方法
EN

Stack Overflow用户
提问于 2020-11-04 22:48:47
回答 1查看 153关注 0票数 0

我正在使用react.js构建通用的web应用程序。我使用express进行服务器端渲染,还有另一个server-side api server从数据库中传递json对象。

因此,当我react客户端获取signIn或signUp的应用程序接口时,应用程序接口服务器会制作JWT令牌,并在响应的Set-Cookie头中设置带有httpOnly选项的cookie,以防止出现安全问题。

在api服务器响应后,我可以在google chrome检查器的application标签页中找到cookie。

在这里我的问题开始了。由于httpOnly选项,客户端无法读取document.cookie,因此没有方法说服检查会话在每次页面刷新时都是有效的。

我该如何处理这件事?

天真的方法可能是从响应中摆脱httpOnly选项,但可能会带来另一个糟糕的安全性问题。

EN

回答 1

Stack Overflow用户

发布于 2020-11-05 16:47:19

据我从您的问题中了解到,您希望您的React应用程序检查cookie是否存在,不幸的是,根据我的知识,只要cookie是httpOnly cookie,就永远不可能做到这一点,因为如果这是可能的,那么它将违背将服务器会话cookie标记为httpOnly的目的。

请注意以下有关httpOnly cookies的信息

An HttpOnly cookie is not accessible via non-HTTP methods, such as calls via JavaScript (e.g"document.cookie")

那么现在要知道用户是否有会话cookie的解决方案是什么?

  • 因此需要用户登录的路由您可以在服务器中创建一个中间件,它首先验证客户端提供的cookie,如果这是有效的cookie,则可以将它们下推到被调用的路由。

假设用户的

  • 过期了,那么cookie肯定不会在cookie存储中,当发送请求时,不会发送cookie,上面提到的中间件验证将很好地处理这一问题,然后您就可以管理所有

了

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64682295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档