令牌认证和百度地图

一、令牌

1.什么是token

'令牌'的意思,是一个字符串,在客户端第一次请求服务器时由服务器生成,然后响应给客户端(保存),当客户端再次请求服务器时,带上token,就不需要再带用户名和密码

2.作用

(1)防止表单重复提交:在表单中加入隐藏的表单控件,在这个隐藏的表单控件中带上token字符串

​(2)进行身份验证:

        a、为什么要进行身份认证:基于http协议的请求,无状态(当客户端与服务器之间的请求-响应过程完成后,客户端和服务器就断开了联系、服务器无法记录或跟踪客户端)。当客户端再次向服务器发起请求的时候,服务器需要对客户端的身份进行认证。

        b、传统的身份认证方式:

                cookie:在服务器端生成,保存在客户端。

                session:在服务器端生成,保存在服务器端

        c、token认证:在服务器端不需要保存用户的身份信息,流程如下:

              1.客户端使用用户名和密码请求登录。

              2. 服务端收到请求,验证用户名和密码。

              3.验证成功后,服务端会生成一个令牌,然后把这个令牌发送给客户端。

              4. 客户端收到令牌后把它存储起来,可以放在cookie或者Local Storage(本地存储)里。

              5.客户端每次向服务端发送请求的时候都需要带上服务端发给的令牌。

              6.服务端收到请求,然后去验证客户端请求里面带着令牌,如果验证成功,就向客户端返回请求的数据。

        d、token的本质:是对用户的信息进行加密、解密,因此保存在客户端的token是加密后的一个字符串

3、在node.js中实现token认证:即在前后分离的项目中实现token认证

(1)node项目使用JWT模块,实现token认证

JWT:JsonWebToken,是一种身份认证和授权的方案,即客户端向服务器发送请求时,在请求信息中携带token,服务器端接收到请求信息后,对token进行验证,若验证通过则向客户端响应数据。

(2)JWT中的函数:

        a、sign(payload, secretOrPrivateKey, [options, callback]):返回值一个字符串(即加密后的字符串)

                payload:需要加密的内容

                secretOrPrivateKey:加密字符串或密钥文件

                选项:其他参数

                        expiresIn:有效时间 // 如 '6h' 、'1d'

        b、verify(token, secretOrPublicKey, [options, callback]):返回值是逻辑值(true/false),验证token,token字符串一样、密钥也必须一致

                token:token字符串

                secretOrPublicKey:加密时用的密钥

                选项:是参数列表

        c、decode(token [, options]):解密方法,返回的是明文

                token:token字符串

                options:是一个逻辑值(true/false)。是否以同步方式解码

(3)创建Express项目:

        a、安装JWT对应的模块:jsonwebtoken

        b、创建接口文件:

4.token验证的流程

        --第一次向服务器发起登录请求时,没有token信息

        --当用户登录后,在服务器端生成token,token中包含那些信息由用户决定,然后将token响应给客户端

        --当客户端接收到服务器端相应的token后,将token存入本地的缓存(localStorage)中

        --当客户端再次访问服务器时,需要在请求头中包含token;服务器端在接收到客户端的请求后,先查找客户端的请求头中是否有token,若没有则表明该用户是非法用户,不响应任何数据;若有token,则表明该用户是合法用户,就响应数据

5.Express实现过程

        --安装、导入jsonwebtoken模块

        --在登录接口时生成token并返回给客户端

        --在客户端接收到的token保存到本地缓存

        --当客户端再次访问(包括非法访问)服务器,服务器端会对token进行验证

        --客户端每次向服务器发起请求时都必须携带token,否则视为非法用户

二、百度地图

1、百度开发者的账户申请

2、申请AK密钥

三、数据库分析(关系型数据库)

1、能找出项目的实体

2、分析实体之间的关系:

​ (1)一对一的关系:例如 身份证和居民之间的关系。用一张表就可以表示

​ (2)一对多的关系:例如 班级和学生之间的关系。一端不动,多端增加一列用来关联一端

​ (3)多对多的关系:例如 学生和课程之间的关系。生成第三张表

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 动态令牌认证系统是一种常用的用于网络认证的方法。它的基本原理是,用户在进行网络认证时,系统会向用户发送一个动态生成的令牌(通常是一个数字或字符串)。用户需要在输入用户名和密码的同时输入该令牌,才能通过认证。 动态令牌认证系统的优点是,令牌是动态生成的,每次认证都会使用不同的令牌,因此即使攻击者窃取了用户的用户名和密码,也无法通过认证。另外,动态令牌认证系统还可以限制同一个令牌在一定时间内只能使用一次,进一步增强了安全性。 ### 回答2: 动态令牌认证系统是一种安全性较高的身份验证系统,它通过生成一次性动态密码来增强用户登录的安全性。该系统主要包含以下功能: 1. 双因素认证:动态令牌认证系统结合了用户密码和动态密码两个因素进行认证,提高了登录的安全性。用户除了输入正确的密码外,还需要使用动态令牌生成的动态密码进行验证。 2. 动态令牌生成:系统生成用于身份验证的动态令牌,该令牌一般包括一串数字或字符,可以通过手机短信、手机应用程序或硬件令牌等方式生成。每次生成的动态令牌都是唯一的,并且在短时间内过期,增加了令牌的安全性。 3. 令牌同步:动态令牌认证系统中,令牌生成设备和认证服务器需要保持同步。为了确保生成的动态令牌的正确性,用户在登录时需要确保令牌生成设备与服务器时间保持一致,以避免验证失败。 4. 令牌验证:用户在登录时,除了输入密码外,还需要输入动态令牌进行验证。系统会根据用户输入的动态令牌和服务器上生成的动态令牌进行比对,验证令牌的有效性。令牌验证成功后,用户才能完成登录。 5. 自动阻止重放攻击:动态令牌认证系统通过在令牌中加入时间戳或计数器,可以自动识别和阻止重放攻击。令牌在生成后只能在一定的时间范围内使用,超过时间范围后会自动失效,有效防止了黑客的攻击。 动态令牌认证系统的功能主要在于提高用户的身份验证安全性,降低账户被盗风险。通过增加动态令牌验证这一额外的因素,系统能够阻止大部分钓鱼、关键日志记录和破译密码等攻击手段,为用户提供更加安全的登录体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值