【技术实现步骤摘要】
一种基于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数据库验证是否为合法用户,如果不是的话,立刻终止流程,返回错误提示信息;如...
【专利技术属性】
技术研发人员:刘建邦,徐士强,杨继伟,魏金雷,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。