天津建设银行公积金缴费官方网站独立站seo是什么
常用的http鉴权方式有以下四种
- http basic authentication
- session-cookie
- 使用token进行签名的鉴权
- OAuth(开发授权)
一、http basic authentication
浏览器把用户名和密码进行base64加密后,放在请求头中,由服务器进行解密和验证。验证通过后发送请求的资源。浏览器的每次请求都会携带加密后的用户名和密码,服务器每次收到请求后都会解密和验证。由于base64加密方式可逆,所以安全性不高。
二、session-cookie
浏览器请求时先在服务器创建session,服务器保存session并为每个session生成唯一标志字符串即session id(sid),将sid放在响应头中返回给浏览器。浏览器将sid存储在cookie中,以后每次请求都带着sid,服务器解析请求获取sid,根据sid看能否找到对应的session,如果找到说明请求合法。
三、token验证
客户端先用用户名和密码登录登录,服务器验证用户名和密码通过后,给客户端发送一个token。客户端保存好token后,以后每次请求的数据,都携带token信息。服务器验证token信息是否合法。
token验证和session-cookie的不同在于,session id只是一个唯一标志字符串,服务器根据sid查找用户登录信息,而token本身就是用户登录成功的信息。session依赖与浏览器客户端,需要把sid保存在浏览器的cookie中。
token验证的一种常用方案是JWT(Json Web Token),即把请求url、请求参数与token进行一种不可逆的加密,生成签名并发送给服务器。服务器进行相同的加密,如果签名匹配,证明请求方的token是授权的。
为了应对这种请求链接被别人拿到从而进行非法请求,可以在参数中加入时间戳,以便实现请求的唯一性。个人理解服务器会限制带时间戳的请求链接只会在几秒中内有效,超时后即实效。或者服务器会记录请求的时间戳,如果同一时间戳出现第二次,那么就拒绝请求。
四、开发授权
这种方式是使用第三方授权的信息进行登录,比如使用qq、微信等授权登录网站。
参考文献
https://blog.csdn.net/wang839305939/article/details/78713124
https://www.cnblogs.com/codelir/p/5327462.html
https://recomm.cnblogs.com/blogpost/11165757
https://blog.csdn.net/qq_34659777/article/details/105036229