javascript - 当用户使用相同的设备返回时如何保持用户登录?
问题描述
我正在使用 PHP、AJAX 和 JS 进行 PWA 开发。我希望用户的登录状态在他/她返回 PWA 应用程序时保持不变。现在,我正在通过访问令牌的帮助进行操作,并通过 PHP 使用 HttpOnly 将其保存在 cookie 中。在这里定义它 -
- 用户输入详细信息,然后登录到应用程序。
- 该详细信息通过 AJAX 发送到 PHP 后端。
- 后端登录代码检查数据库中的详细信息,如果匹配,则代码创建一个随机散列令牌。
- 后端代码使用 HttpOnly 和安全标志将该哈希保存到 cookie。
- 然后用户提示成功登录消息。
- 当用户下次返回 Web 应用程序时,服务器 PHP 代码会查找保存在 cookie 中的登录哈希值,并从数据库中找到相关用户。
- 如果找到匹配项,则用户成功登录。
所以现在我的担忧是——
- 这整个过程是否安全并且与工业中实施的相同。
- 如果没有,那么通过安全性实现这一目标的最佳方法是什么。
解决方案
你可以在这里找到你想要的答案:)
使用散列 cookie 很重要。
在客户端,您应该使用代表“散列”cookie 的“id”的 cookie,
当用户下次返回 Web 应用程序时 -> 您将使用您保存在服务器上的散列 cookie 检查他的 cookie(“id”)并检查匹配(在服务器端完成)。
注意:散列函数在您的服务器上完成。
还有一件事:永远不要让那个 cookie(hashed) 离开服务器。
推荐阅读
- r - 使用混合 tryFormats 时 as.Date 的结果不正确
- java - 计算二维数组中的出现次数
- php - 使用PHP制作面额程序
- python - tensorflow CNN 不使用所有图像进行训练
- javascript - 更改十进制价格 Javascript
- swift - update UICollectionview datasource count dynamically
- visual-studio-2019 - 如何在 Visual Studio 2019 中查看智能感知的错误日志?
- video-processing - 是否有任何软件可以从视频中提取/更改/帧?
- python - Python Pandas ValueError:只能比较标记相同的 DataFrame 对象
- javascript - 二维码扫描仪 wasm