token防止前端重复提交

token防止前端重复提交,第1张

在实际的网站设计中我们经常会遇到用户数据的验证和加密的问题,如果实现单点,如果保证数据准确,如何放着重放,如何防止CSRF等等。

其中,在所有的服务设计中,都不可避免的涉及到Token的设计。

目前,基于Token的生成方,我们把Token生成分为两种类型。

1、基于用户/网站,可见的加密请求方式

2、基于服务器间通讯的不可见加密请求方式(API Token)

其中,基于非服务器端的请求,我们要根据实际的应用场景进行一定的自定义加工。

在本次讨论中我们把非服务的请求分为了两部分。

两种请求中:

1、非登录态请求要求用户访问页面时会随机生成唯一且有时效性的token,该token在每次请求时都是不同。改方法用于当不需要登录界面的请求多且无法使用静态页面的时候使用,Token会在一定的时间内失效,以此来防止被机器爬取不需登录的界面

2、登录状态中,token会保存一定的时间,页面中的token会作为用户身份识别,同时登录态的Token需要利用session和页面信息来防止被利用。

虽说两者作用有一定的区别,但是实现的原理是相同的。

登录态的Token一般在用户登录之后由服务器产生,并保存在浏览器中,过期时间较长,用于保存用户的登录状态。

同时,我们也可以在该Token中加入一定的校验元素,例如浏览器信息,ip,获取是Cookies

如果对时效性较强的页面登录访问,我们可以加入session的校验,设置session的有效时间,能够实现自动退出的校验功能。

TimeStamp用来校验Token的生成时间。

同时,你用redis的Hset可以实现多点登录和单点登录的功能。

服务端验证Token:

在常规的API Token体系中,我们常使用短时过期Token(Oauth Token除外)。

通常 APIToken 是使用非对称加密来实现token的生成,但是世界生产中,Token 的秘钥会简化成app_id,app_key等简单的加盐参数,不过只要秘钥保存合理,Token基本无法被破解。

该Token方式要求每次请求都需要生成新的token来确保请求的时效性。

另外:为了加强API接口请求的完整性,我们也会对请求内容进行字段排序后摘要验证。(详情参考: >

抖音token登录的原理:

token就相当于客户端登录的账号的唯一标识,在做一些数据请求的时候,后台会要求在请求头中携带token,如果没有token,或者token过期了,那么这时候就会对这个客户端进行返回响应的数据,然后前端在解析这些数据,判断是token过期,还是没有携带token,然后让用户进行相应的 *** 作。总而言之,token是在向后台请求数据的时候必不可少的。如果没有token,那么后台要么不会返回响应的数据,要么就会返回一些无关紧要的数据。

简单token的组成;uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,token的前几位以哈希算法压缩成的一定长度的十六进制字符串。为防止token泄露)。

以上就是关于token防止前端重复提交全部的内容,包括:token防止前端重复提交、鉴权必须了解的 5 个兄弟:cookie、session、token、jwt、单点登录、API 接口设计中Token设计讨论等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9401960.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存