一种基于Redis的用户访问频率处理装置制造方法及图纸

技术编号:29975038 阅读:28 留言:0更新日期:2021-09-08 09:57
本发明专利技术提供一种基于Redis的用户访问频率处理装置,属于通信技术领域,本发明专利技术共包含四个模块:配置模块、用户访问频率控制模块、用户认证模块、用户鉴权模块。通过这四个模块实现互联网项目授权服务。本发明专利技术的优点是:采用ip地址对用户进行访问频率控制,采用用户令牌(token)对用户进行认证和鉴权,token采用Redis进行存储,安全性、稳定性、效率都明显提高;token作为参数传递,解决了跨客户端、跨不同语言的兼容性问题。同语言的兼容性问题。同语言的兼容性问题。

【技术实现步骤摘要】
一种基于Redis的用户访问频率处理装置


[0001]本专利技术涉及通信
,尤其涉及一种基于Redis的用户访问频率处理装置。

技术介绍

[0002]HTTP/HTTPS协议是无状态协议,不记录请求消息是谁发送的。用户发送请求,服务端接收请求并根据请求返回数据。HTTP协议传输导致了一个问题:一个服务端,如果没有用户认证授权机制的话,只需URL,任何用户都可以访问服务端应用,显然这不符合服务端的安全性要求。为了保障服务端应用的安全性,绝大多数网站都要求用户在使用应用前进行用户名密码认证,认证通过后,用户才可以向服务端请求相应资源。但是这又带来一个问题,用户每次请求资源都需要用户名密码验证,这种解决方式虽然保障了安全性,但是如果每次服务端都需要进行用户名、密码校验的话是极为消耗资源的,并且对用户而言,这种方式也是极不友好的。为了兼顾效率和安全性,又出现了以下解决方案:用户在通过用户名和密码进行了身份验证之后,服务端生成一条记录,该记录存储了当前用户的唯一标识,服务端会将这个标志返回给用户,用户再次请求时会携带这个唯一标识,服务器端会对这个标本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于Redis的用户访问频率处理装置,其特征在于,采用token作为用户标志,利用Redis代替服务器实现用户标识(即token)的存储与认证;同时Redis进行鉴权,判断用户是否有权限访问URL;并且利用Redis控制用户访问频率,达到保护后端应用的目的;包括配置模块、用户访问频率控制模块、用户认证模块、用户鉴权模块,其中,配置模块:对用户访问频率控制模块、用户认证模块、用户鉴权模块需要的参数进行配置;用户访问频率控制模块:利用Redis查询用户最近的访问次数是否超出限制;用户认证模块:检查是否有token对应的用户,验证首次登录的用户是否为合法用户,为首次登录的合法用户颁发token;用户鉴权模块:利用Redis验证用户是否有权限访问请求的URL。2.根据权利要求1所述的装置,其特征在于,配置模块可配置用户的白名单、黑名单、访问频率、用户可访问的资源、令牌有效时间。3.根据权利要求1所述的装置,其特征在于,用户访问控制频率模块:检测用户最近的访问频率是否超出限制以防止系统被恶意攻击;获取用户的ip地址,在Redis中查询该ip地址对应的访问频率是否超出限制,如果超出限制,那么立刻返回,不会执行接下来的流程,反之,则允许继续接下来的流程,并且在Redis中将用户的访问次数加1。4.根据权利要求3所述的装置,其特征在于,在Redis中,用户的访问频率是带有时间期限的,如果超过这个时间期限,Redis会自动删除这条记录。5.根据权利要求1所述的装置,其特征在于,用户认证模块:如果用户访问时没有携带token或者存储在Redis中的用户的token已经过期,说明这是用户初次登录或者用户太长时间没有请求导致token失效,这时需要进入认证模块进行认证生成token颁发。6.根据权利要求5所述的装置,其特征在于,认证流程如下:去Redis中根据token查询用户信息,如果查询到了token,就重新设置该token对应的过期时间,如果没有查询到token,就指示用户重定向到登录页面,登录接口设置在白名单中,不去Redis中查询token,而是根据用户名和密码去Mysql数据库验证是否为合法用户,如果不是的话,立刻终止流程,返回错误提示信息;如...

【专利技术属性】
技术研发人员:刘建邦徐士强杨继伟魏金雷
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1