CN109787937A - 访问次数的计数方法、装置及服务器 - Google Patents
访问次数的计数方法、装置及服务器 Download PDFInfo
- Publication number
- CN109787937A CN109787937A CN201711119553.9A CN201711119553A CN109787937A CN 109787937 A CN109787937 A CN 109787937A CN 201711119553 A CN201711119553 A CN 201711119553A CN 109787937 A CN109787937 A CN 109787937A
- Authority
- CN
- China
- Prior art keywords
- access
- server
- identifying code
- page
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种访问次数的计数方法、装置及服务器。本发明的方法,在接收到客户端发送的页面请求时,在接收到客户端发送的页面请求时,服务器生成验证码;服务器向客户端发送携带验证码的页面显示信息,以使客户端根据页面显示信息生成包含验证码的显示页面,并在接收到页面提交指令时向服务器提交包含验证码的访问请求;在接收到客户端提交的访问请求时,服务器根据访问请求中的验证码确定本次访问是否是恶意访问;若确定本次访问是恶意访问,则服务器不更新本次接收到的访问请求对应的目标资源的访问次数,仅在本次访问不是恶意访问时对本次访问计数,解决了因恶意访问导致的访问次数不准确的问题,且无需手工输入验证码,提高了访问效率。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种访问次数的计数方法、装置及服务器。
背景技术
应用商店是用于向用户提供可以下载和使用的应用程序的平台,例如,应用商店可以是一个基于万维网(World Wide Web,简称Web)的网站。表单是客户端与服务器,如web网页浏览器与web服务器之间进行数据交互的重要手段之一,其在客户端中负责数据采集。表单通常包括表单域和表单按钮等组件,其中表单域由输入框,例如文本框和密码框等组成,表单按钮用于触发客户端将表单提交到服务器,服务器即可对表单中的数据进行处理。应用商店的客户端通过表单的方式向用户展示包括有应用信息的前端页面,用户可以在前端页面中输入想要下载的应用的信息,并通过提交表单的方式向服务器发送访问请求来下载应用。
应用商店往往要根据对应用的访问请求的数量来确定应用的下载数量,对下载数量较多的应用的提供者进行奖励。因此要区分正常访问和恶意访问。正常访问是指用户通过应用商店的前端页面查看应用后,通过触发前端页面上的表单按钮向服务器提交访问请求进行的访问。恶意的访问是指某些提供者为了骗取奖励,通过自动填写工具或者专门的机器人等自动填写程序,来抓取表单页面的信息,从而自动模拟用户查看应用商店页面、触发表单按钮的操作,实现在短时间内提交的大量访问请求的恶意访问。这种表单应用的工作方式,服务器无法从提交的表单中判断出表单的填写这是否为真实的用户,会将这些恶意访问的访问请求当作正常的访问动作进行计数,从而使应用商店的运营者遭受经济损失。
现有技术中识别恶意访问的方法有以下两种:一是通过监视同一IP地址的客户端在预设时间段内提交的访问请求的数量,将在预设时间段内提交的访问请求的数量超过预设阈值的客户端确定为恶意访问的客户端。但是,这种方法对于通过伪造IP地址进行恶意访问、或者通过控制多个不同IP地址的客户端进行恶意访问仍然会进行计数,仍然存在因恶意访问导致的访问次数不准确的问题。二是采用人工输入验证码的方法,通过在客户端显示验证码,用户在通过客户端提交访问请求时需人工输入验证码的值,服务器对用户填写的验证码的值验证未通过,则确认本次访问为恶意访问。但是,这种方法需要用户手工输入验证码,增加了访问的时间,大大降低了访问的效率。
发明内容
本发明实施例提供一种访问次数的计数方法、装置及服务器,以现有技术中因恶意访问导致的访问次数不准确的问题,通过采用人工输入验证码的方法来防止恶意访问,增加了访问的时间,大大降低了访问的效率的问题。
本发明实施例的一个方面是提供一种访问次数的计数方法,包括:
在接收到客户端发送的页面请求时,服务器生成验证码;
所述服务器向所述客户端发送携带所述验证码的页面显示信息,以使所述客户端根据所述页面显示信息生成包含所述验证码的显示页面,并在接收到页面提交指令时向服务器提交包含所述验证码的访问请求;
在接收到所述客户端提交的访问请求时,所述服务器根据所述访问请求中的验证码确定本次访问是否是恶意访问;
若确定本次访问是恶意访问,则所述服务器不更新本次接收到的访问请求对应的目标资源的访问次数。
本发明实施例的另一个方面是提供一种访问次数的计数装置,包括:
生成模块,用于在接收到客户端发送的页面请求时,服务器生成验证码;
发送模块,用于所述服务器向所述客户端发送携带所述验证码的页面显示信息,以使所述客户端根据所述页面显示信息生成包含所述验证码的显示页面,并在接收到页面提交指令时向服务器提交包含所述验证码的访问请求;
验证模块,用于在接收到所述客户端提交的访问请求时,所述服务器根据所述访问请求中的验证码确定本次访问是否是恶意访问;
计数模块,用于若确定本次访问是恶意访问,则所述服务器不更新本次接收到的访问请求对应的目标资源的访问次数。
本发明实施例的另一个方面是用于访问次数计数的服务器,包括:处理器、存储器以及存储在所述存储器上可以由所述处理器运行的计算机程序,
所述处理器运行所述计算机程序时实现上述所述的访问次数的计数方法。
本发明实施例提供的访问次数的计数方法、装置及服务器,通过在接收到客户端发送的页面请求时,服务器生成验证码,服务器将验证码植入客户端的显示页面中,从而使得客户端向服务器提交显示页面发送访问请求时,会将验证码携带在访问请求中。在接收到客户端提交的访问请求时,服务器通过对访问请求中的验证码进行验证可以确定本次访问是否是恶意访问。若确定本次访问不是恶意访问时,更新本次访问对应的目标资源的访问次数,若确定本次访问是恶意访问,则不更新本次访问对应的目标资源的访问次数,从而可以解决因恶意访问导致的访问次数不准确的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本发明实施例一提供的访问次数的计数方法流程图;
图2为本发明实施例二提供的访问次数的计数方法流程图;
图3为本发明实施例三提供的访问次数的计数方法流程图;
图4为本发明实施例四提供的访问次数的计数装置的结构示意图;
图5为本发明实施例七提供的用于访问次数计数的服务器的架构图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
首先对本发明所涉及的名词进行解释:
表单:是网页的重要部分,在网页中主要负责数据采集功能。一个表单有三个基本组成部分:表单标签、表单域和表单按钮。其中,表单标签用于申明表单,定义采集数据的范围,通常用“<form></form>”表示,也就是<form>和</form>里面包含的数据将被提交到服务器。表单域:包括文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等,用于采集用户的输入或选择的数据。表单按钮:包括提交按钮、复位按钮和一般按钮;用于控制表单的运作。
隐藏域:是表单中用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。当表单被提交时,隐藏域就会将信息用设置时定义的名称和数值发送到服务器上。
会话:本发明中是指Session,Session在网络应用中通常称为“会话”。Session对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。
实施例一
图1为本发明实施例一提供的访问次数的计数方法流程图。本发明实施例针对现有技术中因恶意访问导致的访问次数不准确的问题,通过采用人工输入验证码的方法来防止恶意访问,增加了访问的时间,大大降低了访问的效率的问题,提供了访问次数的计数方法。如图1所示,该方法具体步骤如下:
步骤S101、在接收到客户端发送的页面请求时,服务器生成验证码。
在实际应用中,用户可以通过在客户端访问应用商店的应用显示界面来查看各种应用,用户首先通过客户端向服务器发送页面请求,服务器在接收到页面请求后,向客户端反馈页面显示信息,客户端可以根据页面显示信息向用户展示应用显示界面。例如,客户端可以为能够用于展示网页信息的浏览器、或者浏览器所在的实体终端等。
本实施例中,第一验证码可以为随机生成的字符串。为了增强第一验证码的安全性,可以增加第一验证码的复杂度。验证码的长度越长、包含的字符类型越多,验证码的复杂度越高,因此可以通过增加验证码的长度和/或验证码包含的字符类型来增加验证码的复杂度。例如,增加第一验证码的长度,设置第一验证码的长度大于预设长度;或者增加第一验证码所包括的字符的类型,设置第一验证码至少包括字母和数字等类型的字符,或者设置第一验证码至少包括字母和数字等类型的字符以及下划线等符号字符。另外,本实施例中,还可以采用现有的字符串生成算法、或者消息摘要算法生成第一验证码。
可选地,第一验证码中至少包括字母和数字两种类型的字符,第一验证码的长度大于预设长度。其中,预设长度是指验证码的最小长度,也即是验证码中包含的字符数的最小值,预设长度可以由技术人员根据实际需要进行设定,本实施例对此不做具体限定。
步骤S102、服务器向客户端发送携带验证码的页面显示信息,以使客户端根据页面显示信息生成包含验证码的显示页面,并在接收到页面提交指令时向服务器提交包含验证码的访问请求。
本实施例中,访问请求可以为对服务器上预设软件应用、预设页面的访问请求,或者可以为通过服务器上预设页面的表单按钮发出的访问请求等。
可选地,访问请求可以为对服务器的预设的软件应用的下载请求;例如,访问请求可以为对于应用商店所在的服务器上预先设定的全部或者部分应用的下载请求。
可选地,访问请求可以为对于服务器的预设页面的浏览请求,例如,对于服务器上预设需要计数的网页的浏览请求。
可选地,访问请求可以为通过服务器预设页面发出的投票请求;例如,对于“最好应用”选取活动中,在查看应用的页面上用于投票的按钮发出的投票请求。
可选地,访问请求可以为向服务器上预设类型传文件的上传请求等。
其中,页面显示信息可以为用于生成显示页面的可执行代码。客户端在接收到页面显示信息后运行该页面显示信息可以生成显示页面。
本实施例中,页面显示信息中包括第一验证码,客户端根据页面显示信息生成的显示页面中包含第一验证码。第一验证码可以包含在显示页面的表单中的表单域中,例如,可以是显示页面表单中的隐藏域的数值、显示页面表单中的文本框的数值、也可以换是显示页面表单中的密码框的数值等,从而可以将第一验证码植入显示页面,在提交显示页面时可以将第一验证码提交到服务器。
在实际应用中,用户可以查看客户端生成的显示页面,并在显示页面中指定需要访问的目标资源,然后通过触发显示页面中的提交按钮向客户端发送页面提交指令,客户端在接收到页面提交指令时将显示页面的表单提交到服务器,从而向服务器提交访问请求。由于显示页面的表单中包括第一验证码,向服务器提交的访问请求中包括显示页面的表单中的数据,因此,访问请求包含该第一验证码。
步骤S103、在接收到客户端提交的访问请求时,服务器根据访问请求中的验证码确定本次访问是否是恶意访问。
本实施例中,在接收到客户端提交的访问请求时,服务器获取访问请求中的验证码,对访问请求中的验证码进行验证,若验证通过,则可以确定本次访问不是恶意访问;若验证不通过,则可以确定本次访问是恶意访问。
例如,访问请求中的验证码可以为根据预设的生成规则生成的验证码,根据与预设生成规则对应的验证规则可以验证该验证码是否为有效的验证码。服务器可以验证访问请求中验证码是否符合验证规则,对访问请求中验证码进行验证。
另外,服务器可以验证访问请求中验证码是否与存储的验证码匹配,对访问请求中验证码进行验证。
步骤S104、若确定本次访问是恶意访问,则服务器不更新本次接收到的访问请求对应的目标资源的访问次数。
若上述步骤S103中确定本次访问是恶意访问,则服务器不更新本次接收到的访问请求对应的目标资源的访问次数,从而可以避免对恶意访问的计数。
步骤S105、若确定本次访问不是恶意访问,则服务器更新本次接收到的访问请求对应的目标资源的访问次数。
若上述步骤S103中确定本次访问不是恶意访问,则服务器更新本次接收到的访问请求对应的目标资源的访问次数。
本实施例中,可以根据预设的计数规则,在确定本次访问不是恶意访问时,将本次接收到的访问请求中的目标资源的访问次数增加预设增量。其中,预设增量还可以为任意的正整数,预设增量可以根据实际需要进行设定,本实施例对此不做具体限定。
例如,预设增量可以为1,将目标资源的访问次数加1,对本次访问进行计数。
本发明实施例提供的访问次数的计数方法、装置及服务器,通过在接收到客户端发送的页面请求时,服务器生成验证码,服务器将验证码植入客户端的显示页面中,从而使得客户端向服务器提交显示页面发送访问请求时,会将验证码携带在访问请求中。在接收到客户端提交的访问请求时,服务器通过对访问请求中的验证码进行验证可以确定本次访问是否是恶意访问。若确定本次访问不是恶意访问时,更新本次访问对应的目标资源的访问次数,若确定本次访问是恶意访问,则不更新本次访问对应的目标资源的访问次数,从而可以解决因恶意访问导致的访问次数不准确的问题。
实施例二
图2为本发明实施例二提供的访问次数的计数方法流程图。在上述实施例一的基础上,本实施例中,服务器生成验证码之后,服务器将生成的验证码存储;服务器验证根据存储的验证码,以及访问请求中的验证码确定本次访问是否是恶意访问。如图2所示,该方法具体步骤如下:
步骤S201、在接收到客户端发送的页面请求时,服务器生成验证码,并将生成的验证码存储。
本实施例中,用第一验证码表示服务器生成的验证码,用第二验证码表示服务器接收到的访问请求中的验证码,以方便后续描述。
可选地,在接收到客户端发送的页面请求时,服务器生成第一验证码,并将第一验证码存储到与客户端对应的Session中,第一验证码仅仅对当前客户端的当前Session有效,第一验证码会随着Session的失效而销毁。
例如,若客户端A上安装的网络工具不断地向服务器发送其模拟下载请求的网络报文,向服务器发起下载请求,这种情况下,服务器在接收到客户端A发送的下载请求后,由于服务器事先未接收到该客户端A向其发送的页面请求,从而客户端A当前的Session中未存储第一验证码,这种情况下服务器会确定本次下载是恶意下载。
步骤S202、服务器向客户端发送携带第一验证码的页面显示信息,以使客户端根据页面显示信息生成包含第一验证码的显示页面,并在接收到页面提交指令时向服务器提交包含第一验证码的访问请求。
该步骤与上述步骤S102一致,本实施例此处不再赘述。
步骤S203、在接收到客户端提交的访问请求时,服务器验证根据存储的验证码,以及访问请求中的验证码确定本次访问是否是恶意访问。
具体地,服务器验证根据存储的验证码,以及访问请求中的验证码确定本次访问是否是恶意访问,具体可以采用如下方式实现:
在接收到客户端提交的访问请求时,服务器获取所有已存储的验证码,将访问请求中的验证码与已存储的验证码进行比对,若已存储的验证码中存在与访问请求中的验证码一致的验证码,则验证通过,可以确定本次访问不是恶意访问;若已存储的验证码中不存在与访问请求中的验证码一致的验证码,则验证不通过,可以确定本次访问是恶意访问。
可选的,若服务器将生成的验证码存储到与客户端对应的Session中,服务器验证根据存储的验证码,以及访问请求中的验证码确定本次访问是否是恶意访问,具体还可以采用如下方式实现:
服务器根据Session中存储的验证码与本次接收到的访问请求中的验证码确定本次访问是否是恶意访问。
具体地,在接收到客户端提交的访问请求时,由于客户端向服务器发送的请求消息中均携带有该客户端对应的Session的标识,例如Session ID等,服务器可以根据访问请求携带的Session的标识,获取客户端对应的Session中存储的验证码。
具体地,服务器根据第一验证码和第二验证码确定本次访问是否是恶意访问,具体可以通过下步骤实现:
步骤一、判断客户端对应的Session中存储的第一验证码是否为空。
该步骤中,若判断结果为客户端对应的Session中存储的第一验证码为空,则执行步骤二,可以确定本次访问是恶意访问。
若判断结果为客户端对应的Session中存储的第一验证码不为空,则执行步骤三-六,继续根据客户端对应的Session中的第一验证码、以及接收到的访问请求中的第二验证码确定本次访问是否是恶意访问。
步骤二、确定本次访问是恶意访问。
步骤三、获取客户端对应的Session中存储的第一验证码以及接收到的访问请求中的第二验证码。
在实际应用中,通常访问请求的网络报文中会携带当前的Session的标识,该步骤中,服务器可以根据访问请求中的Session的标识对应的Session中存储的第一验证码,即为客户端对应的Session中存储的第一验证码。
访问请求中包括客户端提交的显示页面的表单数据,由于显示页面的表单中包括第一验证码,因此,访问请求包含该第一验证码。该步骤中,从访问请求中的表单数据中获取该第一验证码。
步骤四、判断获取到的第一验证码与第二验证码是否一致。
本实施例中,第一验证码和第二验证码都可以表示为字符串的形式。该步骤具体可以采用现有技术中任意一种通过比较两个字符串是否一致的方法来实现,本实施例此处不做具体限定。
步骤五、若获取到的第一验证码与第二验证码一致,则确定本次访问不是恶意访问。
步骤六、若获取到的第一验证码与第二验证码不一致,则确定本次访问是恶意访问。
本实施例中,由于是在接收到客户端发送的页面请求时,服务器生成第一验证码,并将第一验证码存储到与客户端对应的会话Session中,第一验证码仅仅对当前客户端的当前Session有效,第一验证码会随着Session的失效而销毁。因此,未曾向服务器发送过页面请求的客户端的Session中将不会存储第一验证码。服务器通过将第一验证码植入客户端的显示页面中,使得客户端向服务器提交显示页面发送访问请求时,会将第一验证码携带在访问请求中。当客户端不是通过正常的向服务器发送页面请求,使得服务器为其生成第一验证码,并将第一验证码植入客户端的显示页面中时,客户端无法获知正确的第一验证码。
例如,客户端为恶意刷票软件,通常恶意刷票软件会在进行一次正常的投票过程之后,直接模拟户提交访问请求的操作不断向后台发送访问请求;也就是在第一次访问时会正常发送页面请求,服务器会生成一个第一验证码,并存储到该客户端对应的Session中。在该Session失效之前,恶意刷票软件直接模拟用户提交访问请求的操作时,访问请求中的第二验证码是恶意刷票软件随机填写的值;服务器可以确定客户端对应的Session中的第一验证码不为空,进一步通过将第一验证码与客户端对应的Session中的第一验证码进行比较,可以发现第二验证码与第一验证码不一致,从而可以确定本次访问为恶意访问,不进行计票。在该Session超时、或者显示页面被关闭使得该Session结束后,恶意刷票软件直接模拟用户提交访问请求的操作时,会重新建立一个新Session,此时新Session中的第一验证码为空,因此服务器可以确定客户端对应的新Session中的第一验证码为空,从而可以确定本次访问为恶意访问,不进行计票。
通过首先验证客户端对应的Session中的第一验证码是否为空,当客户端对应的Session中的第一验证码为空时,则可以说明该客户端发出访问请求之前,未曾向服务器发送页面请求,可以确定本次访问为恶意访问;当客户端对应的Session中的第一验证码不为空时,可以通过进一步验证客户端对应的Session中的第一验证码与接收到的访问请求中的第二验证码是否一致,当验证二者不一致时确定本次访问为恶意访问,从而实现了服务器对客户端访问请求的验证,能够高效地识别出恶意访问,从而可以避免对恶意访问对应的目标资源的错误计数。
步骤S204、若确定本次访问是恶意访问,则服务器不更新本次接收到的访问请求对应的目标资源的访问次数。
若上述步骤S203中确定本次访问是恶意访问,则服务器不更新本次接收到的访问请求对应的目标资源的访问次数,从而可以避免对恶意访问的计数。
步骤S205、若确定本次访问不是恶意访问,则服务器更新本次接收到的访问请求对应的目标资源的访问次数。
若上述步骤S203中确定本次访问不是恶意访问,则服务器更新本次接收到的访问请求对应的目标资源的访问次数。
本实施例中,可以根据预设的计数规则,在确定本次访问不是恶意访问时,将本次接收到的访问请求中的目标资源的访问次数增加预设增量。其中,预设增量还可以为任意的正整数,预设增量可以根据实际需要进行设定,本实施例对此不做具体限定。
例如,预设增量可以为1,将目标资源的访问次数加1,对本次访问进行计数。
本发明实施例通过在接收到客户端发送的页面请求时,服务器生成验证码,并将验证码存储到与客户端对应的会话Session中,第一验证码仅仅对当前客户端的当前Session有效,第一验证码会随着Session的失效而销毁,而未曾向服务器发送过页面请求的客户端的Session中将不会存储第一验证码,服务器将第一验证码植入客户端的显示页面中,从而使得客户端向服务器提交显示页面发送访问请求时,会将第一验证码携带在访问请求中。服务器通过在接收到客户端提交的访问请求时,根据与客户端对应的Session中存储的第一验证码与本次接收到的访问请求中的第二验证码确定本次访问是否是恶意访问。若确定本次访问不是恶意访问时,更新本次访问对应的目标资源的访问次数,若确定本次访问是恶意访问,则不更新本次访问对应的目标资源的访问次数,从而可以解决因恶意访问导致的访问次数不准确的问题。
实施例三
图3为本发明实施例三提供的访问次数的计数方法流程图。在上述实施例一的基础上,本实施例中,本实施例中,用第一验证码表示服务器生成的验证码,用第二验证码表示服务器接收到的访问请求中的验证码。服务器生成第一验证码之后,服务器向客户端发送携带第一验证码的页面显示信息之前,还包括:服务器生成域名称。可以通过在显示页面的表单中加入名称为该域名称并且数值为第一验证码的隐藏域,将第一验证码植入显示页面中。如图3所示,该方法具体步骤如下:
步骤S301、在接收到客户端发送的页面请求时,服务器生成第一验证码和域名称。
本实施例中,服务器除了生成第一验证码之外,还会生成域名称。
服务器可以在生成第一验证码之后生成域名称,域名称与第一验证码可以为根据不同的随机字符串生成算法生成的两个相互独立的随机字符串。具体地,服务器可以采用与生成第一验证码不同的字符串生成算法生成域名称。
可选地,域名称可以为根据第一验证码生成的字符串,例如,域名称可以为对第一验证码进行加密后得到的字符串、第一验证码与其他任意的一组字符拼接成的字符串等。
另外,为了增强域名称的安全性,可以增加域名称的复杂度。例如,增加域名称的长度,设置域名称的长度大于预设名称长度;或者增加域名称所包括的字符的类型,设置域名称包括字母和数字等类型的字符,或者设置域名称包括字母和数字等类型的字符以及下划线等符号字符。其中,预设名称长度可以由技术人员根据实际需要进行设定,本实施例此处不做具体限定。
本实施例中的第一验证码与上述步骤S101中的第一验证码一致,本实施例此处不再赘述。
可选地,可以将域名称与第一验证码对应保存到与客户端对应的Session中。
步骤S302、服务器根据第一验证码和域名称生成页面显示信息,页面显示信息用于生成包括隐藏域的显示页面,隐藏域的数值为第一验证码,隐藏域的名称为域名称。
其中,页面显示信息可以为用于生成显示页面的可执行代码。客户端在接收到页面显示信息后可以运行该页面显示信息生成显示页面,生成的显示页面的表单中包括名称为域名称、且数值为第一验证码的隐藏域。
本实施例中,将第一验证码和域名称分别作为隐藏域的数值和名称,从而可以通过在显示页面的表单中增加隐藏域的方式将第一验证码和域名称植入显示页面,由于显示页面中的隐藏域对用户不可见,从而可以保证显示页面的简洁,使得显示页面可以显示更多的与应用商店中应用有关的信息。
步骤S303、服务器将页面显示信息发送给客户端,以使客户端根据页面显示信息生成包括隐藏域的显示页面,并在接收到页面提交指令时向服务器提交包含隐藏域的访问请求。
在实际应用中,用户可以查看客户端生成的显示页面,并在显示页面中指定需要访问的目标资源,然后通过触发显示页面中的提交按钮向客户端发送页面提交指令,客户端在接收到页面提交指令时将显示页面的表单提交到服务器,从而向服务器提交访问请求。由于显示页面的表单中包括名称为域名称、且数值为第一验证码的隐藏域,向服务器提交的访问请求中包括显示页面的表单中的数据,因此,访问请求包含名称为域名称、且数值为第一验证码的隐藏域。
步骤S304、在接收到客户端提交的访问请求时,服务器从接收到的访问请求中获取名称与域名称一致的隐藏域的数值,并将获取到的隐藏域的数值作为访问请求中的验证码。
若将将域名称与第一验证码对应保存到与客户端对应的Session中,则该步骤中,由于客户端向服务器发送的请求消息中均携带有该客户端对应的Session的标识,例如Session ID等,服务器可以根据访问请求携带的Session的标识,获取客户端对应的Session中存储的域名称和第一验证码。本实施例中,访问请求中包括客户端提交的显示页面的表单数据,由于显示页面的表单中包括名称为域名称、且数值为第一验证码的隐藏域,因此,访问请求包含名称为域名称、且数值为第一验证码的隐藏域。
该步骤中,服务器能够获取到接收到的访问请求中的表单数据,从表单数据中获取名称与域名称一致的隐藏域的数值,并将其作为接收到的访问请求中的验证码。
步骤S305、服务器根据访问请求中的验证码确定本次访问是否是恶意访问。
本实施例中,将隐藏域的数值作为访问请求中的验证码,即第二验证码,服务器可以在确定第一验证码和第二验证码均不为空且第一验证码和第二验证码完全一致时,确定本次访问不是恶意访问;否则可以确定本次访问是恶意访问。
若将将域名称与第一验证码对应保存到与客户端对应的Session中,该步骤中服务器根据客户端对应的Session中存储的第一验证码与第二验证码确定本次访问是否是恶意访问,具体可以采用实施例二中的方式实现,本实施例此处不再赘述。
步骤S306、若确定本次访问是恶意访问,则服务器不更新本次接收到的访问请求对应的目标资源的访问次数。
步骤S307、若确定本次访问不是恶意访问,则服务器更新本次接收到的访问请求对应的目标资源的访问次数。
本发明实施例通过在接收到客户端发送的页面请求时,服务器生成第一验证码和域名称服务器将域名称和第一验证码分别作为隐藏域的名称和数值,通过在显示页面的表单中增加隐藏域的方式将第一验证码植入到客户端的显示页面中,从而使得客户端向服务器提交显示页面发送访问请求时,会将该隐藏域包含在访问请求中。服务器在接收到客户端提交的访问请求时,服务器从接收到的访问请求中获取名称与域名称一致的隐藏域的数值,并将隐藏域的数值作为访问请求中的验证码;根据访问请求中的验证码确定本次访问是否是恶意访问。由于隐藏域的名称也是生成的,因此通过网络工具无法模拟该隐藏域的名称和数值,从而可以更加准确的识别出恶意访问,从而可以解决因恶意访问导致的访问次数不准确的问题,同时,无需用户手工输入验证码,提高了应用商店中应用的访问效率。
实施例四
图4为本发明实施例四提供的访问次数的计数装置的结构示意图。本发明实施例提供的访问次数的计数装置可以执行访问次数的计数方法实施例提供的处理流程。如图4所示,该装置40包括:生成模块401、发送模块402、验证模块403和计数模块404。
具体地,生成模块401用于在接收到客户端发送的页面请求时,服务器生成第一验证码。
可选地,验证码为生成的字符串,验证码中至少包括字母和数字两种类型的字符。
可选地,验证码的长度大于预设长度。
发送模块402用于服务器向客户端发送携带验证码的页面显示信息,以使客户端根据页面显示信息生成包含验证码的显示页面,并在接收到页面提交指令时向服务器提交包含验证码的访问请求。
验证模块403用于在接收到客户端提交的访问请求时,服务器根据访问请求中的验证码确定本次访问是否是恶意访问。
计数模块404用于若确定本次访问是恶意访问,则服务器不更新本次接收到的访问请求对应的目标资源的访问次数。
计数模块404还用于若确定本次访问不是恶意访问,则服务器更新本次接收到的访问请求对应的目标资源的访问次数。
本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
本发明实施例提供的访问次数的计数方法、装置及服务器,通过在接收到客户端发送的页面请求时,服务器生成验证码,服务器将验证码植入客户端的显示页面中,从而使得客户端向服务器提交显示页面发送访问请求时,会将验证码携带在访问请求中。在接收到客户端提交的访问请求时,服务器通过对访问请求中的验证码进行验证可以确定本次访问是否是恶意访问。若确定本次访问不是恶意访问时,更新本次访问对应的目标资源的访问次数,若确定本次访问是恶意访问,则不更新本次访问对应的目标资源的访问次数,从而可以解决因恶意访问导致的访问次数不准确的问题。
实施例五
在上述实施例四的基础上,本实施例中,生成模块还用于服务器生成验证码之后,服务器将生成的验证码存储。
验证模块还用于:服务器验证根据存储的验证码,以及访问请求中的验证码确定本次访问是否是恶意访问。
可选地,生成模块还用于服务器将生成的验证码存储到与客户端对应的Session中。
本发明实施例提供的装置可以具体用于执行上述实施例二所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过首先验证客户端对应的Session中的第一验证码是否为空,当客户端对应的Session中的第一验证码为空时,则可以说明该客户端发出访问请求之前,未曾向服务器发送页面请求,可以确定本次访问为恶意访问;当客户端对应的Session中的第一验证码不为空时,可以通过进一步验证客户端对应的Session中的第一验证码与接收到的访问请求中的第二验证码是否一致,当验证二者不一致时确定本次访问为恶意访问,从而实现了服务器对客户端访问请求的验证,能够高效地识别出恶意访问,从而可以避免对恶意访问对应的目标资源的错误计数。
实施例六
在上述实施例四的基础上,本实施例中,生成模块还用于服务器生成域名称。
发送模块包括:生成子模块和发送子模块。
其中,生成子模块,用于服务器根据验证码和域名称生成页面显示信息,页面显示信息用于生成包括隐藏域的显示页面,隐藏域的数值为验证码,隐藏域的名称为域名称。
发送子模块,用于服务器将页面显示信息发送给客户端,以使客户端根据页面显示信息生成包括隐藏域的显示页面,并在接收到页面提交指令时向服务器提交包含隐藏域的访问请求。
验证模块包括:获取子模块和验证子模块。
其中,获取子模块,用于在接收到客户端提交的访问请求时,服务器从接收到的访问请求中获取名称与域名称一致的隐藏域的数值,并将隐藏域的数值作为访问请求中的验证码。
验证子模块,用于服务器根据访问请求中的验证码确定本次访问是否是恶意访问。
本发明实施例提供的装置可以具体用于执行上述实施例三所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过在接收到客户端发送的页面请求时,服务器生成第一验证码和域名称服务器将域名称和第一验证码分别作为隐藏域的名称和数值,通过在显示页面的表单中增加隐藏域的方式将第一验证码植入到客户端的显示页面中,从而使得客户端向服务器提交显示页面发送访问请求时,会将该隐藏域包含在访问请求中。服务器在接收到客户端提交的访问请求时,服务器从接收到的访问请求中获取名称与域名称一致的隐藏域的数值,并将隐藏域的数值作为访问请求中的验证码;根据访问请求中的验证码确定本次访问是否是恶意访问。由于隐藏域的名称也是生成的,因此通过网络工具无法模拟该隐藏域的名称和数值,从而可以更加准确的识别出恶意访问,从而可以解决因恶意访问导致的访问次数不准确的问题,同时,无需用户手工输入验证码,提高了应用商店中应用的访问效率。
实施例七
图5为本发明实施例七提供的服务器的架构图。本发明实施例提供的服务器可以执行访问次数的计数方法实施例提供的处理流程。如图5所示,该服务器70包括:处理器701、存储器702以及存储在存储器702上并可以由处理器701运行的计算机程序。
处理器701运行计算机程序时实现上述任一方法实施例提供的访问次数的计数方法。
本发明实施例提供的访问次数的计数方法、装置及服务器,通过在接收到客户端发送的页面请求时,服务器生成验证码,服务器将验证码植入客户端的显示页面中,从而使得客户端向服务器提交显示页面发送访问请求时,会将验证码携带在访问请求中。在接收到客户端提交的访问请求时,服务器通过对访问请求中的验证码进行验证可以确定本次访问是否是恶意访问。若确定本次访问不是恶意访问时,更新本次访问对应的目标资源的访问次数,若确定本次访问是恶意访问,则不更新本次访问对应的目标资源的访问次数,从而可以解决因恶意访问导致的访问次数不准确的问题。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (13)
1.一种访问次数的计数方法,其特征在于,包括:
在接收到客户端发送的页面请求时,服务器生成验证码;
所述服务器向所述客户端发送携带所述验证码的页面显示信息,以使所述客户端根据所述页面显示信息生成包含所述验证码的显示页面,并在接收到页面提交指令时向服务器提交包含所述验证码的访问请求;
在接收到所述客户端提交的访问请求时,所述服务器根据所述访问请求中的验证码确定本次访问是否是恶意访问;
若确定本次访问是恶意访问,则所述服务器不更新本次接收到的访问请求对应的目标资源的访问次数。
2.根据权利要求1所述的方法,其特征在于,所述服务器根据所述访问请求中的验证码确定本次访问是否是恶意访问之后,还包括:
若确定本次访问不是恶意访问,则所述服务器更新本次接收到的访问请求对应的目标资源的访问次数。
3.根据权利要求1或2所述的方法,其特征在于,所述服务器生成验证码之后,还包括:
所述服务器将生成的验证码存储;
相应地,所述服务器根据所述访问请求中的验证码确定本次访问是否是恶意访问,包括:
所述服务器验证根据存储的验证码,以及所述访问请求中的验证码确定本次访问是否是恶意访问。
4.根据权利要求3所述的方法,其特征在于,所述服务器将生成的验证码存储,包括:
所述服务器将生成的验证码存储到与所述客户端对应的会话中。
5.根据权利要求1或2所述的方法,其特征在于,所述服务器向所述客户端发送携带所述验证码的页面显示信息之前,还包括:
所述服务器生成域名称;
相应地,所述服务器向所述客户端发送携带所述验证码的页面显示信息,以使所述客户端根据所述页面显示信息生成包含所述验证码的显示页面,并在接收到页面提交指令时向服务器提交包含所述验证码的访问请求,包括:
所述服务器根据所述验证码和所述域名称生成所述页面显示信息,所述页面显示信息用于生成包括隐藏域的显示页面,所述隐藏域的数值为所述验证码,所述隐藏域的名称为所述域名称;
所述服务器将所述页面显示信息发送给所述客户端,以使所述客户端根据所述页面显示信息生成包括所述隐藏域的显示页面,并在接收到页面提交指令时向服务器提交包含所述隐藏域的访问请求。
6.根据权利要求5所述的方法,其特征在于,在接收到所述客户端提交的访问请求时,所述服务器根据所述访问请求中的验证码确定本次访问是否是恶意访问,包括:
在接收到所述客户端提交的访问请求时,所述服务器从接收到的访问请求中获取名称与所述域名称一致的隐藏域的数值,并将所述隐藏域的数值作为所述访问请求中的验证码;
所述服务器根据所述访问请求中的验证码确定本次访问是否是恶意访问。
7.一种访问次数的计数装置,其特征在于,包括:
生成模块,用于在接收到客户端发送的页面请求时,服务器生成验证码;
发送模块,用于所述服务器向所述客户端发送携带所述验证码的页面显示信息,以使所述客户端根据所述页面显示信息生成包含所述验证码的显示页面,并在接收到页面提交指令时向服务器提交包含所述验证码的访问请求;
验证模块,用于在接收到所述客户端提交的访问请求时,所述服务器根据所述访问请求中的验证码确定本次访问是否是恶意访问;
计数模块,用于若确定本次访问是恶意访问,则所述服务器不更新本次接收到的访问请求对应的目标资源的访问次数。
8.根据权利要求7所述的装置,其特征在于,所述计数模块还用于:
若确定本次访问不是恶意访问,则所述服务器更新本次接收到的访问请求对应的目标资源的访问次数。
9.根据权利要求7或8所述的装置,其特征在于,
所述生成模块还用于所述服务器生成验证码之后,所述服务器将生成的验证码存储;
所述验证模块还用于:所述服务器验证根据存储的验证码,以及所述访问请求中的验证码确定本次访问是否是恶意访问。
10.根据权利要求9所述的装置,其特征在于,
所述生成模块还用于所述服务器将生成的验证码存储到与所述客户端对应的会话中。
11.根据权利要求7或8所述的装置,其特征在于,
所述生成模块还用于所述服务器生成域名称;
所述发送模块包括:
生成子模块,用于所述服务器根据所述验证码和所述域名称生成所述页面显示信息,所述页面显示信息用于生成包括隐藏域的显示页面,所述隐藏域的数值为所述验证码,所述隐藏域的名称为所述域名称;
发送子模块,用于所述服务器将所述页面显示信息发送给所述客户端,以使所述客户端根据所述页面显示信息生成包括所述隐藏域的显示页面,并在接收到页面提交指令时向服务器提交包含所述隐藏域的访问请求。
12.根据权利要求11所述的装置,其特征在于,所述验证模块包括:
获取子模块,用于在接收到所述客户端提交的访问请求时,所述服务器从接收到的访问请求中获取名称与所述域名称一致的隐藏域的数值,并将所述隐藏域的数值作为所述访问请求中的验证码;
验证子模块,用于所述服务器根据所述访问请求中的验证码确定本次访问是否是恶意访问。
13.一种服务器,其特征在于,包括:处理器、存储器以及存储在所述存储器上并可以由所述处理器运行的计算机程序,
所述处理器运行所述计算机程序时实现上述权利要求1-6任一项所述的访问次数的计数方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711119553.9A CN109787937A (zh) | 2017-11-14 | 2017-11-14 | 访问次数的计数方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711119553.9A CN109787937A (zh) | 2017-11-14 | 2017-11-14 | 访问次数的计数方法、装置及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109787937A true CN109787937A (zh) | 2019-05-21 |
Family
ID=66494517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711119553.9A Pending CN109787937A (zh) | 2017-11-14 | 2017-11-14 | 访问次数的计数方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109787937A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111010409A (zh) * | 2020-01-07 | 2020-04-14 | 南京林业大学 | 加密攻击网络流量检测方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624705A (zh) * | 2012-02-21 | 2012-08-01 | 西南石油大学 | 一种智能图像验证方法及系统 |
CN102970296A (zh) * | 2012-11-22 | 2013-03-13 | 网宿科技股份有限公司 | 基于内容分发网络的网站内容智能防抓取方法和系统 |
CN104038502A (zh) * | 2014-06-24 | 2014-09-10 | 五八同城信息技术有限公司 | 一种验证方法及系统 |
CN104346564A (zh) * | 2013-08-02 | 2015-02-11 | 中国银联股份有限公司 | 一种基于Web的安全的用户交互方法 |
CN104410650A (zh) * | 2014-12-24 | 2015-03-11 | 四川金网通电子科技有限公司 | 基于Session和Cookie验证用户的方法 |
CN105450641A (zh) * | 2015-11-13 | 2016-03-30 | 中国建设银行股份有限公司 | 验证方法、设备及系统 |
US20160261630A1 (en) * | 2005-09-19 | 2016-09-08 | Jpmorgan Chase Bank, N.A. | System and Method for Anti-Phishing Authentication |
CN106257480A (zh) * | 2015-06-05 | 2016-12-28 | 北京京东尚科信息技术有限公司 | 一种防止机器人工具恶意访问页面的方法及装置 |
-
2017
- 2017-11-14 CN CN201711119553.9A patent/CN109787937A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160261630A1 (en) * | 2005-09-19 | 2016-09-08 | Jpmorgan Chase Bank, N.A. | System and Method for Anti-Phishing Authentication |
CN102624705A (zh) * | 2012-02-21 | 2012-08-01 | 西南石油大学 | 一种智能图像验证方法及系统 |
CN102970296A (zh) * | 2012-11-22 | 2013-03-13 | 网宿科技股份有限公司 | 基于内容分发网络的网站内容智能防抓取方法和系统 |
CN104346564A (zh) * | 2013-08-02 | 2015-02-11 | 中国银联股份有限公司 | 一种基于Web的安全的用户交互方法 |
CN104038502A (zh) * | 2014-06-24 | 2014-09-10 | 五八同城信息技术有限公司 | 一种验证方法及系统 |
CN104410650A (zh) * | 2014-12-24 | 2015-03-11 | 四川金网通电子科技有限公司 | 基于Session和Cookie验证用户的方法 |
CN106257480A (zh) * | 2015-06-05 | 2016-12-28 | 北京京东尚科信息技术有限公司 | 一种防止机器人工具恶意访问页面的方法及装置 |
CN105450641A (zh) * | 2015-11-13 | 2016-03-30 | 中国建设银行股份有限公司 | 验证方法、设备及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111010409A (zh) * | 2020-01-07 | 2020-04-14 | 南京林业大学 | 加密攻击网络流量检测方法 |
CN111010409B (zh) * | 2020-01-07 | 2021-08-17 | 南京林业大学 | 加密攻击网络流量检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104348822B (zh) | 一种互联网账号身份验证的方法、装置及服务器 | |
CN108234475B (zh) | 账号管理方法、电子设备及计算机存储介质 | |
US6912563B1 (en) | Methods and systems for proactive on-line communications | |
JP2019070912A (ja) | セキュリティ評価システムおよびセキュリティ評価方法 | |
CN108683666A (zh) | 一种网页识别方法及装置 | |
CN106156133B (zh) | 控制表单重复提交的方法、装置及系统 | |
CN103198130B (zh) | 在客户端处实现与网页统一的登录的方法和装置 | |
CN108369615A (zh) | 动态更新captcha质询 | |
CN101193007A (zh) | 统一资源定位符命令测试方法、场景测试方法和相应设备 | |
CN107133816A (zh) | 一种电子书阅读控制方法和装置 | |
CN105378703A (zh) | 用于使用统一规则集合来验证输入的多个方法的方法和系统 | |
CN103150513A (zh) | 拦截应用程序中的植入信息的方法及装置 | |
CN110113366A (zh) | 一种csrf漏洞的检测方法及装置 | |
CN106060004A (zh) | 数据库访问方法及数据库代理节点 | |
CN107508720A (zh) | 一种自动化测试方法及装置 | |
CN109547426A (zh) | 业务响应方法及服务器 | |
CN108399333A (zh) | 用于执行网页的防病毒扫描的系统和方法 | |
CN110011875A (zh) | 拨测方法、装置、设备及计算机可读存储介质 | |
CN110519280A (zh) | 一种爬虫识别方法、装置、计算机设备及存储介质 | |
CN104375935B (zh) | Sql注入攻击的测试方法和装置 | |
CN108924159A (zh) | 一种报文特征识别库的验证方法与装置 | |
CN105162805B (zh) | 用户账户登录方法及装置 | |
CN103020827B (zh) | 支付处理方法和系统 | |
CN107273112A (zh) | 一种礼物榜单信息显示方法及装置 | |
CN109787937A (zh) | 访问次数的计数方法、装置及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190521 |