javascript - 网页认证
问题描述
我正在制作一个仅在香草 javascript 上构建网页的辅助项目。我假装有一个登录页面,所有其他页面都需要身份验证。我已经有一个登录页面,它在成功登录后获取身份验证令牌。但是,我在理解/确定下一步要做什么方面遇到了问题。我的问题如下:
如何跨多个页面保留令牌?暂时保存在哪里?我看到有些人认为保存代币不好,因为它们很容易被盗。
使用令牌登录后如何将浏览器重定向到主页?据我所知,有两种方法可以获取页面:让浏览器来做(例如通过更改位置)或使用 ajax。第一种方法不允许附加令牌,第二种方法获取 html,但我无法找到一种方法来将页面“更新”到该 html。我一直在做的是 document.write(new_html) 但开发窗口中的 DOM 在那之后消失了,并且 windows.onload 处理程序设置为没有触发 html。那么,使用令牌实现具有身份验证的网站的正确方法是什么。
解决方案
有两种方法可以在浏览器中保存数据:
- 本地存储
- 饼干
就个人而言,到目前为止我遇到的最好的方法是通过服务器设置 cookie,如果你设置了适当的标志,它可以防止用户弄乱它。
就前端而言:
localStorage.setItem('token', 'my-token'); localStorage.getItem('token');
document.cookie = "username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";
; document.cookie /* 获取 cookie */
推荐阅读
- r - Y 轴值大于 geom_bar 中的实际值
- html - 如何构建矩阵 UI?
- flutter - 有没有办法将自定义工具栏放在键盘上?
- python - 通过换行参数'\n'拆分Python dict数据
- azure - 钥匙斗篷泊坞窗
- node.js - Sending data from Screen over Socket IO?
- swift - CLLocation 和时间戳
- docker - Docker Tomcat 记录到 catalina.out 和控制台
- typescript - 你如何在同一个事件发射器中处理多种类型-Typescript
- vba - VBA - 根据标题复制粘贴值