API安全机制之登录

登录的本质

保持登录状态的方法

基于Cookie、Session的实现

1、login

2、登录服务验证用户密码后生成一个有效的sessionid,同时在内存中创建一个空间(session)来存放于sessionid相关的信息

3、返回一个Set-Cookie的header,将sessionid存入浏览器

4、浏览器在后续的请求中会把sessionid最为请求头重cookid信息携带上

5、服务器根据sessionid在内存中查找到响应的session来获取会话相关信息

基于token安全令牌的

1、客户端调用一个登录服务,而不是每次请求都带着用户名密码

2、登录服务验证用户名密码后生成一个有效的token,存入存储

3、登录服务把token返回给客户端

4、客户端每次请求时携带token来访问

5、服务器通过查询客户端存储来确定客户端是否已经认证过

常见的登录攻击及防护

session Fixation 攻击

1、攻击者首先登录获取session cookie

2、诱骗用户使用攻击者已存在的session cookie进行登录

3、一旦用户登录,攻击者的session中存放的就是用户的信息了,那么攻击者就可以已用户的身份进行操作了

解决办法

        if(session!=null){
            session.

你可能感兴趣的:(微服务安全实战)