场景是这样: 之前登录过了,打开过页面,然后关闭了整个页面。 再次输入域名,可以不用再次登录,直接进入页面。
这个是怎么实现的?大佬们给小白赐教一下
场景是这样: 之前登录过了,打开过页面,然后关闭了整个页面。 再次输入域名,可以不用再次登录,直接进入页面。
这个是怎么实现的?大佬们给小白赐教一下
|
just1Nov 13, 2020
1
凭证储存于 localstorage
|
|
shakarakaNov 13, 2020
2
cookie
|
|
czk1997Nov 13, 2020 via Android
3
这不就是无超时的 cookie 吗。去看看各种登录系统的记住我怎么实现的就好了。
我以为你说的 passwordless 。。 |
|
kaikiNov 13, 2020
4
cookies 就行
举个简单的例子,登录后,服务器给你生成以下几个 cookie uid//你的账号或者你的账号 ID key//随机生成的 key token//你的 uid 和 key 加盐通过后台算法生成的字符串 你再次访问,服务器直接验证你的 uid 和你的 key 加盐能不能生成 token,等于服务端帮你完成了一次登录操作 |
|
QingXuJiaZhiNov 13, 2020
5
cookies 很可能就是你想要的东西。另外,cookies 一般是通过 session 来设置,特别是如果你使用了某种 web 框架的话,你可以在文档里找一下关于 session 的章节。
|
|
systemcallNov 13, 2020 via Android
6
不知道浏览器指纹行不行。如果用浏览器指纹的话,清除了 cookies 也没关系
|
|
40EaE5uJO3Xt1VVaNov 13, 2020
7
session 和 cookie 存活时间设置的够大就行了,cookie 加密强一些避免被欺骗攻击,一星期就差不多了,一星期两星期的,重新登录了客户也不会有感觉
|
|
tikazyqNov 13, 2020
8
不做 token 校验就可以直接访问了
|
|
xuanbgNov 13, 2020
9
localstorage 里面保存登录凭证,可以免密登录到凭证失效。
localstorage 保存用户名密码,可以永久免密登录。注意密码不要存明文。如果后端要你传的是明文,那就赶紧找下家吧。 |
|
toomloNov 14, 2020
10
@systemcall #6 是指 useragent 吗?如果是的话,那安全性基本没有,收集网上大部分浏览器的 ua 然后批量测试登录系统就可以实现登录了
|
|
Nuttertoo1sNov 14, 2020
11
@cmdOptionKana 不应该是 session 基于 cookies 设置吗
|
|
QingXuJiaZhiNov 14, 2020
12
@Nuttertoo1s 一个意思,中文太难了……
|
|
zm8m93Q1e5otOC69Nov 14, 2020 via Android
13
记住我?把验证信息放在 cookie 里就行
|
|
NotFoundEggNov 14, 2020
14
用 cookie 存 token,每次请求都把 token 带上
服务端查这个 token 是否存在以及是否过期,如果存在且不过期就返回 token 对应用户的数据 |
|
xuanbgNov 15, 2020
16
@syozzz 存 localstroage 已经是最安全的办法了。不入侵到你的电脑上面拿不走。
然后,是不是明文不一样啊,你明文的话,泄漏了就内裤都没啦。哈希一下就好多了,至少你拿去别的地方很难有用。至于加密,那就真的没必要了,反正前端的东西不存在保密的可能性。 |
|
systemcallNov 16, 2020 via Android
17
@toomlo UA 以外,还有 canvas 指纹、Web RTC 指纹、audio codec 指纹之类的
可以拿到的数据全都拿下来,但是用户更新了浏览器可能会有变化 结合 cookies 和 local storage 之类的来识别的话,安全性还是很高的。只是单纯地拿到 cookies 之类的信息应该过不了浏览器指纹吧 |
|
toomloNov 16, 2020
18
@systemcall #17 学习了~~~
|