一种限制用户最小操作间隔的方法及装置的制造方法

xiaoxiao2020-10-23  13

一种限制用户最小操作间隔的方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机网络技术领域,特别地涉及一种限制用户最小操作间隔的方法及装置。
【背景技术】
[0002]通常情况下,当网页内容为用户输入的文本,比如论坛用户的回复时,由于回复表单的提交地址可以通过工具查看到,攻击者或者恶意提交的用户可能会手动或通过工具频繁的提交无效表单到服务器,使得服务器接收很多和正常业务没有关系的数据,并且存在服务器资源被无效请求占用的风险。而传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器便成为了系统性能的瓶颈,也是可靠性和安全性的焦点,已不能满足大规模存储应用的需要。
[0003]现有的解决方案通常为:通过人工识别或者设置在固定时间内提交请求次数的门槛来判断该用户是否为恶意提交用户或攻击者,之后对恶意提交用户或攻击者进行处罚,将该用户的账号加入黑名单中,不再允许用户提交表单或者返回一个特殊状态到浏览器端,告诉用户,请间隔多少时间后再发送请求,以限制无效请求的数量。
[0004]但是,在使用过程中,发现现有的解决方案存在以下几个缺点:
[0005]1.采用集中的存储服务器存放所有数据,对系统性能的限制太大;
[0006]2.存在误判的情况,当用户网速不好有延迟时用户一般会重复点击提交请求,此时就会超过设置的次数门槛,就会被误加入黑名单;
[0007]3.如果是将用户拉入黑名单或通知用户请间隔多少时间后再提交表单,用户将在很长一段时间不能再提交表单(例如在论坛发表回复),从而很大程度上降低用户再提交表单的积极性,用户体验不好,不利于真实内容的产生。

【发明内容】

[0008]有鉴于此,本发明提供一种限制用户最小操作间隔的方法及装置,能够对正常用户透明,但是对攻击者或恶意提交者处罚非常严重。即:将正常用户和恶意提交者区分开来,正常提交的表单用户不会触发操作限制的处罚,恶意提交表单的用户会很容易触发处罚规则,并且将处罚的力度和恶意提交的频繁程度关联起来,越是频繁的提交,被处罚的力度将越大。
[0009]为实现上述目的,根据本发明的一个方面,提供了一种限制用户最小操作间隔的方法。
[0010]本发明的一种限制用户最小操作间隔的方法包括:保存处罚标准,在分布式缓存中保存行为缓存时间并存储用户行为;获取用户行为数据并更新,计算用户在所述行为缓存时间内的处罚时间;将所述处罚时间与所述处罚标准相比较进行处罚判定;如果判定需要进行处罚,将所述处罚时间用作用户最小操作间隔。
[0011]可选地,计算用户在所述行为缓存时间内的处罚时间包括:根据与用户提交表单频率相关联的函数计算用户在所述行为缓存时间内的处罚时间。
[0012]可选地,所述与用户提交表单频率相关联的函数为幂函数,其中底数取默认值,幂为用户提交表单的次数,幂函数的值为用户在所述行为缓存时间内的处罚时间。
[0013]可选地,将所述处罚时间与所述处罚标准相比较进行处罚判定包括:如果所述处罚时间不大于所述处罚标准,将本次用户行为视作正常的用户提交表单行为,继续流程;如果所述处罚时间大于所述处罚标准,将本次用户行为视作非正常的用户提交表单行为,进行处罚。
[0014]可选地,将所述处罚时间用作用户最小操作间隔包括:如果所述处罚时间不大于所述行为缓存时间,则不更新所述行为缓存时间,将所述处罚时间用作用户最小操作间隔;如果所述处罚时间大于所述行为缓存时间,则将所述处罚时间赋值给所述行为缓存时间,并将所述处罚时间用作用户最小操作间隔。
[0015]根据本发明的另一方面,提供了一种限制用户最小操作间隔的装置。
[0016]本发明的一种限制用户最小操作间隔的装置包括:存储模块,用于保存处罚标准,在分布式缓存中保存行为缓存时间并存储用户行为;计算模块,用于获取用户行为数据并更新,计算用户在所述行为缓存时间内的处罚时间;判定模块,用于将所述处罚时间与所述处罚标准相比较进行处罚判定;更新模块,用于如果判定需要进行处罚,将所述处罚时间用作用户最小操作间隔。
[0017]可选地,所述计算模块还用于:根据与用户提交表单频率相关联的函数计算用户在所述行为缓存时间内的处罚时间。
[0018]可选地,所述与用户提交表单频率相关联的函数为幂函数,其中底数取默认值,幂为用户提交表单的次数,幂函数的值为用户在所述行为缓存时间内的处罚时间。
[0019]可选地,所述判定模块还用于:如果所述处罚时间不大于所述处罚标准,将本次用户行为视作正常的用户提交表单行为,继续流程;如果所述处罚时间大于所述处罚标准,将本次用户行为视作非正常的用户提交表单行为,进行处罚。
[0020]可选地,所述更新模块还用于:如果所述处罚时间不大于所述行为缓存时间,则不更新所述行为缓存时间,将所述处罚时间用作用户最小操作间隔;如果所述处罚时间大于所述行为缓存时间,则将所述处罚时间赋值给所述行为缓存时间,并将所述处罚时间用作用户最小操作间隔。
[0021]根据本发明的技术方案,选用分布式缓存保存行为缓存时间及存储用户行为,可以利用多台存储服务器分担存储负荷,能满足大规模存储应用的需要,不但提高了系统的可靠性、可用性和存取效率,还易于扩展。使用与用户提交表单频率相关联的函数计算用户在行为缓存时间内的处罚时间,并与处罚标准比较进行处罚判定,会在进行处罚判定时有一定的容错空间,降低了误判的概率。通过如果判定需要进行处罚,将所述处罚时间用作用户最小操作间隔,来实时更新用户的最小操作间隔,以限制非正常用户的操作,将处罚的严重程度与用户行为关联起来,从而实现了在对正常用户完全透明的情况下对恶意提交者越来越严厉的处罚方法。
【附图说明】
[0022]附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
[0023]图1是根据本发明实施例的一种限制用户最小操作间隔的方法的主要步骤示意图;
[0024]图2是根据本发明实施例的一种限制用户最小操作间隔的方法的详细步骤流程图;
[0025]图3是根据本发明实施例的一种限制用户最小操作间隔的装置的主要模块示意图。
【具体实施方式】
[0026]以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0027]图1是根据本发明实施例的一种限制用户最小操作间隔的方法的主要步骤示意图。如图1所示,本发明实施例的一种限制用户最小操作间隔的方法主要包括如下的步骤Sll至步骤S14。
[0028]步骤Sll:保存处罚标准,在分布式缓存中保存行为缓存时间并存储用户行为。处罚标准保存在系统的内存中,可根据处罚程度的不同进行合理设置。本发明采用可扩展的分布式网络存储系统来存储用户行为,每台存储服务器的缓存中预先保存有用户的行为缓存时间。所述用户行为包括但不限于例如用户提交表单、发送请求、获取资源等。当用户第一次进行操作时,如用户提交表单时,将用户的行为缓存起来。
[0029]步骤S12:获取用户行为数据并更新,计算用户在所述行为缓存时间内的处罚时间。所述用户行为数据例如包括用户提交表单的次数、发送请求的次数、获取资源的次数等。在行为缓存时间内,如果同一个用户不再提交表单,则分布式缓存中的数据失效;在行为缓存时间内,同一个用户再次提交表单时,获取用户行为数据并更新其提交表单次数,根据与用户提交表单频率相关联的函数计算用户在所述行为缓存时间内的处罚时间。所述与用户提交表单频率相关联的函数可以是幂函数、指数函数、对数函数或与时间相关联的其他函数。在所述函数是幂函数的情况下,底数取默认值,幂为用户提交表单的次数,幂函数的值为用户在所述行为缓存时间内的处罚时间。
[0030]步骤S13:将所述处罚时间与所述处罚标准相比较进行处罚判定。如果所述处罚时间不大于所述处罚标准,将本次用户行为视作正常的用户提交表单行为,继续流程;如果所述处罚时间大于所述处罚标准,将本次用户行为视作非正常的用户提交表单行为,进行处罚。
[0031]步骤S14:如果判定需要进行处罚,将所述处罚时间用作用户最小操作间隔。根据步骤S13所得出的处罚判定结果,对非正常提交表单的用户进行处罚以限制其操作。
[0032]如果所述处罚时间不大于所述行为缓存时间,则不更新所述行为缓存时间,将所述处罚时间用作用户最小操作间隔;如果所述处罚时间大于所述行为缓存时间,则将所述处罚时间赋值给所述行为缓存时间,并将所述处罚时间用作用户最小操作间隔。
[0033]根据上述步骤可以看出,使用与用户提交表单频率相关联的函数计算用户在行为缓存时间内的处罚时间,并与处罚标准比较进行处罚判定,会在进行处罚判定时有一定的容错空间,降低了误判的概率。通过如果判定需要进行处罚,将所述处罚时间用作用户最小操作间隔,来实时更新用户的最小操作间隔,以限制非正常用户的操作,将处罚的严重程度与用户行为关联起来,从而实现了在对正 常用户完全透明的情况下对恶意提交者越来越严厉的处罚方法。
[0034]另外,本发明在分布式缓存中保存行为缓存时间及存储用户行为,可以利用多台存储服务器分担存储负荷,能满足大规模存储应用的需要,不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
[0035]图2是根据本发明实施例的一种限制用户最小操作间隔的方法的详细步骤流程图。
[0036]如图2所示,首先是系统初始化,保存处罚标准,在分布式缓存中保存用户行为缓存时间(步骤S21)。此处,分布式缓存用于当用户对页面进行操作,如提交表单时,存储用户行为,以记录该用户在行为缓存时间内的操作信息。处罚标准及用户行为缓存时间可根据需要惩罚的严重程度等因素进行调整。之后,当用户提交表单(步骤S22)时,从分布式缓存中获取用户行为数据并更新(步骤S23),如果用户在行为缓存时间内没有再次提交表单,则此时获取的用户行为数据为空,将该用户行为重新存储;如果用户在行为缓存时间内再次提交表单,则将该用户操作次数进行加I处理。
[0037]然后,根据用户在行为缓存时间内的操作次数计算处罚时间(步骤S24)。为了将处罚力度与用户操作频繁度关联起来,本发明实施例中选用幂函数来计算处罚时间,其中底数取默认值,幂为用户提交表单的次数,幂函数的值为处罚时间。此处,只要是具备指数型增加特性的函数均可以用来计算处罚时间,如指数函数、对数函数等。用户可根据需要选用计算方式及设定参数值,以合理限制用户的操作。
[0038]求得处罚时间后,通过判断处罚时间是否大于处罚标准(步骤S25)的方式来判断用户行为。如果处罚时间不大于处罚标准,则认为是正常用户行为,通过校验,继续进行正常流程;如果处罚时间大于处罚标准,则认为当前用户为恶意提交,需要对其进行处罚。
[0039]在对恶意提交者进行处罚时,本发明实施例通过判断处罚时间是否大于当前用户行为缓存时间(步骤S26)的方法来区分对恶意提交用户的处罚力度。当处罚时间不大于当前用户行为缓存时间时,不变更用户行为缓存时间,将处罚时间用作用户最小操作间隔,返回错误状态,提示用户最小操作间隔后再操作(步骤S28);当处罚时间大于当前用户行为缓存时间时,将处罚时间赋值给行为缓存时间以更新用户行为缓存时间(步骤S27),并将处罚时间用作用户最小操作间隔,同时返回错误状态,提示用户最小操作间隔后再操作(步骤S28),以达到在更长时间范围内限制恶意提交者行为的目的。
[0040]如此反复执行以上步骤,如果用户在处罚时间内反复提交表单,其处罚时间将呈指数型函数的方式上升,在一定提交次数后,处罚时间将变成无限长,也就是说用户最小操作间隔变成无限大,用户将在很长时间内无法再次提交表单;同样的,如果在处罚时间后再提交表单,则将重新存储用户行为,处罚时间也会重新计算。
[0041]本发明提供的限制用户最小操作间隔的方法是将用户提交表单的频率和处罚程度相关联的方法。如果相关参数设置合理,正常用户将感知不到最小操作间隔的存在,造成误判的概率也会大大降低,可以提升用户体验;而对于恶意提交者,因为会频繁的提交表单,将频繁的触发处罚判定,根据幂函数的特性,处罚时间会指数型的增加,最小操作间隔也将随之增大,变相受到非常严厉的处罚,从而杜绝单个用户恶意表单的提交,提高了恶意表单提交的门槛。
[0042]图3是根据本发明实施例的一种限制用户最小操作间隔的装置的主要模块示意图。如图3所示,本发明实施例中的一种限制用户最小操作间隔的装置主要包括存储模块31、计算模块32、判断模块33及更新模块34。
[0043]存储模块31,用于保存处罚标准,在分布式缓存中保存行为缓存时间并存储用户行为。
[0044]计算模块32,用于获取用户行为数据并更新,计算用户在所述行为缓存时间内的处罚时间。该模块还用于根据与用户提交表单频率相关联的函数计算用户在所述行为缓存时间内的处罚时间。前述的与用户提交表单频率相关联的函数可以为幂函数、指数函数、对数函数或与时间相关联的其他函数。在所述函数是幂函数的情况下,底数取默认值,幂为用户提交表单的次数,幂函数的值为用户在所述行为缓存时间内的处罚时间。
[0045]判定模块33,用于将所述处罚时间与所述处罚标准相比较进行处罚判定。如果所述处罚时间不大于所述处罚标准,将本次用户行为视作正常的用户提交表单行为,继续流程;如果所述处罚时间大于所述处罚标准,将本次用户行为视作非正常的用户提交表单行为,进行处罚。
[0046]更新模块34,用于如果判定需要进行处罚,将所述处罚时间用作用户最小操作间隔。如果所述处罚时间不大于所述行为缓存时间,则不更新所述行为缓存时间,将所述处罚时间用作用户最小操作间隔;如果所述处罚时间大于所述行为缓存时间,则将所述处罚时间赋值给所述行为缓存时间,并将所述处罚时间用作用户最小操作间隔。
[0047]从以上描述可以看出,本发明提供了一种将用户提交表单的频率和处罚时间相关联的方法及装置,如果设置系数合理,正常用户将感知不到最小操作间隔限制的存在,提升用户体验,而恶意表单提交者,将受到非常严厉的处罚,以此杜绝单个用户恶意表单的提交或者提高恶意表单提交的门槛。
[0048]上述【具体实施方式】,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
【主权项】
1.一种限制用户最小操作间隔的方法,其特征在于,包括: 保存处罚标准,在分布式缓存中保存行为缓存时间并存储用户行为; 获取用户行为数据并更新,计算用户在所述行为缓存时间内的处罚时间; 将所述处罚时间与所述处罚标准相比较进行处罚判定; 如果判定需要进行处罚,将所述处罚时间用作用户最小操作间隔。2.根据权利要求1所述的方法,其特征在于,计算用户在所述行为缓存时间内的处罚时间包括:根据与用户提交表单频率相关联的函数计算用户在所述行为缓存时间内的处罚时间。3.根据权利要求2所述的方法,其特征在于,所述与用户提交表单频率相关联的函数为幂函数,其中底数取默认值,幂为用户提交表单的次数,幂函数的值为用户在所述行为缓存时间内的处罚时间。4.根据权利要求1所述的方法,其特征在于,将所述处罚时间与所述处罚标准相比较进行处罚判定包括: 如果所述处罚时间不大于所述处罚标准,将本次用户行为视作正常的用户提交表单行为,继续流程; 如果所述处罚时间大于所述处罚标准,将本次用户行为视作非正常的用户提交表单行为,进行处罚。5.根据权利要求1或4所述的方法,其特征在于,将所述处罚时间用作用户最小操作间隔包括: 如果所述处罚时间不大于所述行为缓存时间,则不更新所述行为缓存时间,将所述处罚时间用作用户最小操作间隔; 如果所述处罚时间大于所述行为缓存时间,则将所述处罚时间赋值给所述行为缓存时间,并将所述处罚时间用作用户最小操作间隔。6.一种限制用户最小操作间隔的装置,其特征在于,包括: 存储模块,用于保存处罚标准,在分布式缓存中保存行为缓存时间并存储用户行为; 计算模块,用于获取用户行为数据并更新,计算用户在所述行为缓存时间内的处罚时间; 判定模块,用于将所述处罚时间与所述处罚标准相比较进行处罚判定; 更新模块,用于如果判定需要进行处罚,将所述处罚时间用作用户最小操作间隔。7.根据权利要求6所述的装置,其特征在于,所述计算模块还用于:根据与用户提交表单频率相关联的函数计算用户在所述行为缓存时间内的处罚时间。8.根据权利要求7所述的装置,其特征在于,所述与用户提交表单频率相关联的函数为幂函数,其中底数取默认值,幂为用户提交表单的次数,幂函数的值为用户在所述行为缓存时间内的处罚时间。9.根据权利要求6所述的装置,其特征在于,所述判定模块还用于: 如果所述处罚时间不大于所述处罚标准,将本次用户行为视作正常的用户提交表单行为,继续流程; 如果所述处罚时间大于所述处罚标准,将本次用户行为视作非正常的用户提交表单行为,进行处罚。10.根据权利要求6所述的装置,其特征在于,所述更新模块还用于: 如果所述处罚时间不大于所述行为缓存时间,则不更新所述行为缓存时间,将所述处罚时间用作用户最小操作间隔; 如果所述处罚时间大于所述行为缓存时间,则将所述处罚时间赋值给所述行为缓存时间,并将所述处罚时间用作用户最小操作间隔。
【专利摘要】本发明提供一种限制用户最小操作间隔的方法及装置,能够使正常用户感觉不到最小操作间隔的存在,但是对攻击者或恶意提交者处罚非常严重。该方法包括:保存处罚标准,在分布式缓存中保存行为缓存时间并存储用户行为;获取用户行为数据并更新,计算用户在所述行为缓存时间内的处罚时间;将所述处罚时间与所述处罚标准相比较进行处罚判定;如果判定需要进行处罚,将所述处罚时间用作用户最小操作间隔。
【IPC分类】G06F17/30
【公开号】CN104881479
【申请号】CN201510297203
【发明人】刘锟洋
【申请人】北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司
【公开日】2015年9月2日
【申请日】2015年6月3日
转载请注明原文地址:https://www.famiwei.com/read-8138596.html

最新回复(0)