CN113794679B - 防止自动脚本抢号的方法及系统 - Google Patents

防止自动脚本抢号的方法及系统 Download PDF

Info

Publication number
CN113794679B
CN113794679B CN202110879200.9A CN202110879200A CN113794679B CN 113794679 B CN113794679 B CN 113794679B CN 202110879200 A CN202110879200 A CN 202110879200A CN 113794679 B CN113794679 B CN 113794679B
Authority
CN
China
Prior art keywords
user
access
interceptor
threshold value
executing
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.)
Active
Application number
CN202110879200.9A
Other languages
English (en)
Other versions
CN113794679A (zh
Inventor
刘兆铭
王澎湃
郑斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Co Ltd
Original Assignee
Inspur Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN202110879200.9A priority Critical patent/CN113794679B/zh
Publication of CN113794679A publication Critical patent/CN113794679A/zh
Application granted granted Critical
Publication of CN113794679B publication Critical patent/CN113794679B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种防止自动脚本抢号的方法及系统,属于信息技术领域,本发明要解决的技术问题为如何防止自动脚本抢号,保证数据的安全性,采用的技术方案为:该方法是通过服务器端接收由所有终端发送的抢单请求,包括终端的IP、cookie及ua的终端标识,根据终端标识在抢购时段的重复频率、用户多次请求中的终端标识是否一致、用户会话及图片验证码的指标,判断抢单脚本自动请求,同时通过动态密钥对关键数据后端加密后传输到前端,每次加密后的数据不同,确保数据无法被篡改;具体如下:安全认证;数据传输。

Description

防止自动脚本抢号的方法及系统
技术领域
本发明涉及信息技术领域,具体地说是一种防止自动脚本抢号的方法及系统。
背景技术
不定时开展抢购活动是当前较为常见的抢购场景,常常会有自动脚本24小时不间断扫描系统。当前网络上抢购系统的主要载体是web网站、微信公众号、微信小程序等,很容易被人通过网络抓包的方式获取到发往后台的数据请求,并通过软件伪造数据、模拟访问后台接口,现有技术主要通过校验用户登录状态、用户IP地址、图片验证码、数据加密等手段来判断请求是否来自自己的前端程序、数据是否被篡改。一些抢号软件可以模拟使用正确的用户名、密码调用登录接口模拟用户登录,从而可以访问其他接口;也可以通过工具不断切换用户ip;大多数图片验证码可以通过图像识别技术及穷举的方式识别图片内容;可以获取web网站或微信公众号中页面引入的js,从何获得数据的加密方式及密钥,从而可以模拟加密数据并访问系统接口。
故如何防止自动脚本抢号,保证数据的安全性是目前亟待解决的技术问题。
发明内容
本发明的技术任务是提供一种防止自动脚本抢号的方法及系统,来解决如何防止自动脚本抢号,保证数据的安全性的问题。
本发明的技术任务是按以下方式实现的,一种防止自动脚本抢号的方法,该方法是通过服务器端接收由所有终端发送的抢单请求,包括终端的IP、cookie及ua的终端标识,根据终端标识在抢购时段的重复频率、用户多次请求中的终端标识是否一致、用户会话及图片验证码的指标,判断抢单脚本自动请求,同时通过动态密钥对关键数据后端加密后传输到前端,每次加密后的数据不同,确保数据无法被篡改;具体如下:
安全认证;
数据传输。
作为优选,安全认证具体如下:
抢购系统在用户首次登录时,弹出验证码进行认证;
在抢购系统访问中,根据用户验证码校验时长弹出验证码进行认证;其中,验证的形式包括图片旋转及算术运算;
验证码校验时间默认所有用户均相同,在用户访问抢购系统过程中基于用户的行为进行动态调整;
用户登录完成后,所有服务器端接收的抢单请求均要经过用户会话拦截器、访问频率异常拦截器和验证码拦截器。
更优地,用户会话拦截器的工作流程具体如下:
(1)、用户登录后,在客户端cookie记录一个加密的token(令牌);
(2)、服务器端基于token、用户ip、用户ua再次加密生产用户并存入缓存服务器端;
(3)、用户会话拦截器获取cookie;
(4)、用户会话拦截器检查用户cookie中是否存在令牌:
①、若有令牌,则执行步骤(5);
②、若无令牌,则跳转至步骤(8);
(5)、缓存数据库查询会话信息,基于本次请求中的token、用户ip、用户ua再次加密生成用户会话标识;
(6)、查询缓存服务器端是否有用户会话标识:
①、若有,则执行步骤(7);
②、若没有,则跳转至步骤(8);
(7)、返回用户信息,下一步执行步骤(9);
(8)、直接抛出异常,下一步执行步骤(9);
(9)、结束。
更优地,当用户不断切换ip或通过不同的跳板机器访问抢购系统时,会被用户会话拦截器拦截。
更优地,访问频率异常拦截器工作流程具体如下:
(一)、用户每次请求时,服务器端会记录终端标识信息,并对ip及用户分别计数;
(二)、抢购系统对每秒钟、每分钟、每小时同一ip地址、同一用户的访问次数设置第一阈值和最大阈值;
(三)、访问频率异常拦截器通过服务器端查询用户访问次数;
(四)、访问频率异常拦截器判断用户访问次数是否超过第一阈值:
①、若用户访问次数超出第一阈值,则跳转至步骤(九);
②、若用户访问次数未超出第一阈值,则执行步骤(五);
(五)、访问频率异常拦截器判断用户访问次数是否超过最大阈值:
①、若用户访问次数超出最大阈值,则跳转至步骤(十);
②、若用户访问次数未超出最大阈值,则执行步骤(六);
(六)、访问频率异常拦截器通过服务器端查询ip访问次数;
(七)、访问频率异常拦截器判断ip访问次数是否超过第一阈值:
①、若ip访问次数超出第一阈值,则跳转至步骤(九);
②、若ip访问次数未超出第一阈值,则执行步骤(八);
(八)、访问频率异常拦截器判断ip访问次数是否超过最大阈值:
①、若ip访问次数超出最大阈值,则跳转至步骤(十);
②、若用户访问次数未超出最大阈值,则执行步骤(十一);
(九)、修改用户图片验证码验证时长,提高图形验证码的校验频率,下一步执行步骤(十一);
(十)、直接抛出异常,抢购系统禁止该ip及用户访问,禁止访问时间可配置,下一步执行步骤(十一);
(十一)结束。
更优地,验证码拦截器用于校验后台缓存中用户是否有验证码通过标识,当没有验证码通过标识时,则直接返回异常。
作为优选,数据传输具体如下:
查询商品信息;
对商品的ID加密:基于用户会话生产随机码,将商品ID和随机码进行ASE加密;其中,随机码存入缓存服务器端,以备解密时使用;
商品价格加密:商品真实价格和加密后的商品ID进行ASE加密;
商品可用数量加密:商品可用数量和加密后的商品ID进行ASE加密;
返回加密后的商品数据。
一种防止自动脚本抢号的系统,该系统包括,
安全认证单元,用于用户首次登录抢购系统时,弹出验证码进行认证,在抢购系统访问中,根据用户验证码校验时长弹出验证码进行认证,验证码校验时间默认所有用户均相同,在用户访问抢购系统过程中基于用户的行为进行动态调整;
数据传输单元,用于基于用户会话生产随机码,将核销商品数据进行加密。
更优地,所述安全认证单元中设置有用户会话拦截器、访问频率异常拦截器和验证码拦截器;
其中,验证码拦截器用于校验后台缓存中用户是否有验证码通过标识,当没有验证码通过标识时,则直接返回异常;
用户会话拦截器的工作流程具体如下:
(1)、用户登录后,在客户端cookie记录一个加密的token(令牌);
(2)、服务器端基于token、用户ip、用户ua再次加密生产用户并存入缓存服务器端;
(3)、用户会话拦截器获取cookie;
(4)、用户会话拦截器检查用户cookie中是否存在令牌:
①、若有令牌,则执行步骤(5);
②、若无令牌,则跳转至步骤(8);
(5)、缓存数据库查询会话信息,基于本次请求中的token、用户ip、用户ua再次加密生成用户会话标识;
(6)、查询缓存服务器端是否有用户会话标识:
①、若有,则执行步骤(7);
②、若没有,则跳转至步骤(8);
(7)、返回用户信息,下一步执行步骤(9);
(8)、直接抛出异常,下一步执行步骤(9);
(9)、结束;
访问频率异常拦截器工作流程具体如下:
(一)、用户每次请求时,服务器端会记录终端标识信息,并对ip及用户分别计数;
(二)、抢购系统对每秒钟、每分钟、每小时同一ip地址、同一用户的访问次数设置第一阈值和最大阈值;
(三)、访问频率异常拦截器通过服务器端查询用户访问次数;
(四)、访问频率异常拦截器判断用户访问次数是否超过第一阈值:
①、若用户访问次数超出第一阈值,则跳转至步骤(九);
②、若用户访问次数未超出第一阈值,则执行步骤(五);
(五)、访问频率异常拦截器判断用户访问次数是否超过最大阈值:
①、若用户访问次数超出最大阈值,则跳转至步骤(十);
②、若用户访问次数未超出最大阈值,则执行步骤(六);
(六)、访问频率异常拦截器通过服务器端查询ip访问次数;
(七)、访问频率异常拦截器判断ip访问次数是否超过第一阈值:
①、若ip访问次数超出第一阈值,则跳转至步骤(九);
②、若ip访问次数未超出第一阈值,则执行步骤(八);
(八)、访问频率异常拦截器判断ip访问次数是否超过最大阈值:
①、若ip访问次数超出最大阈值,则跳转至步骤(十);
②、若用户访问次数未超出最大阈值,则执行步骤(十一);
(九)、修改用户图片验证码验证时长,提高图形验证码的校验频率,下一步执行步骤(十一);
(十)、直接抛出异常,抢购系统禁止该ip及用户访问,禁止访问时间可配置,下一步执行步骤(十一);
(十一)结束。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的防止自动脚本抢号的方法。
本发明的防止自动脚本抢号的方法及系统具有以下优点:
(一)本发明提供了用户会话拦截机制,首先确保了用户的真实性,必须使用正确的用户名密码登录的用户才会创建会话,其次确保了每次请求终端环境是稳定的必须和登录时的ip、cookie、ua都是一致的;通过差异化的图形验证码、访问频率控制机制确保请求的发起来源于人工而不是机器脚本;通过对核心商品数据的动态后台加密,确保了数据的不可篡改,保证了数据安全;
(二)本发明基于用户令牌(token)和终端标识(ip、ua等)进行动态加密生成用户会话标识,在用户会话有效期的所有请求必须终端标识不变;
(三)本发明对单用户的访问频率进行校验,当到达警戒阈值(第一阈值)时,通过调整图形验证码校验频率触发和用户的交互,当到达最大阈值时可自动阻断访问请求;
(四)本发明对IP地址进行访问频率进行校验,ip地址访问频率到达触发预警时对该ip对应的所有用户采用禁止该ip访问抢购系统一段时间,时间长短可根据实际情况进行配置;
(五)本发明对核心产品数据后端进行动态加密,不同用户加密的结果不同,同一用户每次登录加密的结果也不同,数据的加解密全在后端进行,前端仅会以图片的形式展示商品信息,这种方式使得数据被抓包后也无法别解密,更无法篡改数内容。
附图说明
下面结合附图对本发明进一步说明。
附图1为用户会话拦截器的流程框图;
附图2为访问频率异常拦截器的流程框图;
附图3为数据传输的流程框图。
具体实施方式
参照说明书附图和具体实施例对本发明的防止自动脚本抢号的方法及系统作以下详细地说明。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接连接,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1:
本发明的防止自动脚本抢号的方法,该方法是通过服务器端接收由所有终端发送的抢单请求,包括终端的IP、cookie及ua的终端标识,根据终端标识在抢购时段的重复频率、用户多次请求中的终端标识是否一致、用户会话及图片验证码的指标,判断抢单脚本自动请求,同时通过动态密钥对关键数据后端加密后传输到前端,每次加密后的数据不同,确保数据无法被篡改;具体如下:
S1、安全认证;
S2、数据传输。
本实施例中步骤S1中安全认证具体如下:
S101、抢购系统在用户首次登录时,弹出验证码进行认证;
S102、在抢购系统访问中,根据用户验证码校验时长弹出验证码进行认证;其中,验证的形式包括图片旋转及算术运算;
S103、验证码校验时间默认所有用户均相同,在用户访问抢购系统过程中基于用户的行为进行动态调整;
S104、用户登录完成后,所有服务器端接收的抢单请求均要经过用户会话拦截器、访问频率异常拦截器和验证码拦截器。
如附图1所示,本实施例中步骤S104的用户会话拦截器的工作流程具体如下:
(1)、用户登录后,在客户端cookie记录一个加密的token(令牌);
(2)、服务器端基于token、用户ip、用户ua再次加密生产用户并存入缓存服务器端;
(3)、用户会话拦截器获取cookie;
(4)、用户会话拦截器检查用户cookie中是否存在令牌:
①、若有令牌,则执行步骤(5);
②、若无令牌,则跳转至步骤(8);
(5)、缓存数据库查询会话信息,基于本次请求中的token、用户ip、用户ua再次加密生成用户会话标识;
(6)、查询缓存服务器端是否有用户会话标识:
①、若有,则执行步骤(7);
②、若没有,则跳转至步骤(8);
(7)、返回用户信息,下一步执行步骤(9);
(8)、直接抛出异常,下一步执行步骤(9);
(9)、结束。
注:当用户不断切换ip或通过不同的跳板机器访问抢购系统时,会被用户会话拦截器拦截。
如附图2所示,本实施例中步骤S104的访问频率异常拦截器工作流程具体如下:
(一)、用户每次请求时,服务器端会记录终端标识信息,并对ip及用户分别计数;
(二)、抢购系统对每秒钟、每分钟、每小时同一ip地址、同一用户的访问次数设置第一阈值和最大阈值;
(三)、访问频率异常拦截器通过服务器端查询用户访问次数;
(四)、访问频率异常拦截器判断用户访问次数是否超过第一阈值:
①、若用户访问次数超出第一阈值,则跳转至步骤(九);
②、若用户访问次数未超出第一阈值,则执行步骤(五);
(五)、访问频率异常拦截器判断用户访问次数是否超过最大阈值:
①、若用户访问次数超出最大阈值,则跳转至步骤(十);
②、若用户访问次数未超出最大阈值,则执行步骤(六);
(六)、访问频率异常拦截器通过服务器端查询ip访问次数;
(七)、访问频率异常拦截器判断ip访问次数是否超过第一阈值:
①、若ip访问次数超出第一阈值,则跳转至步骤(九);
②、若ip访问次数未超出第一阈值,则执行步骤(八);
(八)、访问频率异常拦截器判断ip访问次数是否超过最大阈值:
①、若ip访问次数超出最大阈值,则跳转至步骤(十);
②、若用户访问次数未超出最大阈值,则执行步骤(十一);
(九)、修改用户图片验证码验证时长,提高图形验证码的校验频率,下一步执行步骤(十一);
(十)、直接抛出异常,抢购系统禁止该ip及用户访问,禁止访问时间可配置,下一步执行步骤(十一);
(十一)结束。
本实施例中步骤S104的验证码拦截器用于校验后台缓存中用户是否有验证码通过标识,当没有验证码通过标识时,则直接返回异常。
如附图3所示,本实施例中步骤S2的数据传输具体如下:
S201、查询商品信息;
S202、对商品的ID加密:基于用户会话生产随机码,将商品ID和随机码进行ASE加密;其中,随机码存入缓存服务器端,以备解密时使用;
S203、商品价格加密:商品真实价格和加密后的商品ID进行ASE加密;
S204、商品可用数量加密:商品可用数量和加密后的商品ID进行ASE加密;
S205、返回加密后的商品数据。
实施例2:
本发明的防止自动脚本抢号的系统,该系统包括,
安全认证单元,用于用户首次登录抢购系统时,弹出验证码进行认证,在抢购系统访问中,根据用户验证码校验时长弹出验证码进行认证,验证码校验时间默认所有用户均相同,在用户访问抢购系统过程中基于用户的行为进行动态调整;
数据传输单元,用于基于用户会话生产随机码,将核销商品数据进行加密;基于用户会话生产随机码,将核销商品数据进行加密,如:将商品ID和随机码进行ASE加密,将商品价格、可订购数量分别和加密后的商品ID进行ASE加密,将随机码存入缓存服务器解密时用。这样保证了商品信息在不同用户的会话有效期内时不同的,他人无法将商品数据固化在外挂脚本中,每次加密后的数据不同,确保数据无法被篡改。
本实施例中的安全认证单元中设置有用户会话拦截器、访问频率异常拦截器和验证码拦截器;
其中,验证码拦截器用于校验后台缓存中用户是否有验证码通过标识,当没有验证码通过标识时,则直接返回异常;
如附图1所示,用户会话拦截器的工作流程具体如下:
(1)、用户登录后,在客户端cookie记录一个加密的token(令牌);
(2)、服务器端基于token、用户ip、用户ua再次加密生产用户并存入缓存服务器端;
(3)、用户会话拦截器获取cookie;
(4)、用户会话拦截器检查用户cookie中是否存在令牌:
①、若有令牌,则执行步骤(5);
②、若无令牌,则跳转至步骤(8);
(5)、缓存数据库查询会话信息,基于本次请求中的token、用户ip、用户ua再次加密生成用户会话标识;
(6)、查询缓存服务器端是否有用户会话标识:
①、若有,则执行步骤(7);
②、若没有,则跳转至步骤(8);
(7)、返回用户信息,下一步执行步骤(9);
(8)、直接抛出异常,下一步执行步骤(9);
(9)、结束。
如附图2所示,访问频率异常拦截器工作流程具体如下:
(一)、用户每次请求时,服务器端会记录终端标识信息,并对ip及用户分别计数;
(二)、抢购系统对每秒钟、每分钟、每小时同一ip地址、同一用户的访问次数设置第一阈值和最大阈值;
(三)、访问频率异常拦截器通过服务器端查询用户访问次数;
(四)、访问频率异常拦截器判断用户访问次数是否超过第一阈值:
①、若用户访问次数超出第一阈值,则跳转至步骤(九);
②、若用户访问次数未超出第一阈值,则执行步骤(五);
(五)、访问频率异常拦截器判断用户访问次数是否超过最大阈值:
①、若用户访问次数超出最大阈值,则跳转至步骤(十);
②、若用户访问次数未超出最大阈值,则执行步骤(六);
(六)、访问频率异常拦截器通过服务器端查询ip访问次数;
(七)、访问频率异常拦截器判断ip访问次数是否超过第一阈值:
①、若ip访问次数超出第一阈值,则跳转至步骤(九);
②、若ip访问次数未超出第一阈值,则执行步骤(八);
(八)、访问频率异常拦截器判断ip访问次数是否超过最大阈值:
①、若ip访问次数超出最大阈值,则跳转至步骤(十);
②、若用户访问次数未超出最大阈值,则执行步骤(十一);
(九)、修改用户图片验证码验证时长,提高图形验证码的校验频率,下一步执行步骤(十一);
(十)、直接抛出异常,抢购系统禁止该ip及用户访问,禁止访问时间可配置,下一步执行步骤(十一);
(十一)结束。
实施例3:
基于本发明实例实现的预约购酒产品,在实现在线购酒业务的同时,自动识别来并拦截来自抢号软件的请求,保障了正常消费者可以在线购酒的正当权益。对异常请求的识别和处理主要在前置服务器和缓存服务器,对应用服务器和数据库服务器压力较小,对正常业务办理没有太大影响。
实施例4:
本发明实施例还提供了一种计算机可读存储介质,其中存储有多条指令,指令由处理器加载,使处理器执行本发明任一实施例中的防止自动脚本抢号的方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RYM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种防止自动脚本抢号的方法,其特征在于,该方法是通过服务器端接收由所有终端发送的抢单请求,包括终端的IP、cookie及ua的终端标识,根据终端标识在抢购时段的重复频率、用户多次请求中的终端标识是否一致、用户会话及图片验证码的指标,判断抢单脚本自动请求,同时通过动态密钥对关键数据后端加密后传输到前端,每次加密后的数据不同,确保数据无法被篡改;具体如下:
安全认证;安全认证具体如下:
抢购系统在用户首次登录时,弹出验证码进行认证;
在抢购系统访问中,根据用户验证码校验时长弹出验证码进行认证;其中,验证的形式包括图片旋转及算术运算;
验证码校验时间默认所有用户均相同,在用户访问抢购系统过程中基于用户的行为进行动态调整;
用户登录完成后,所有服务器端接收的抢单请求均要经过用户会话拦截器、访问频率异常拦截器和验证码拦截器;
其中,用户会话拦截器的工作流程具体如下:
(1)、用户登录后,在客户端cookie记录一个加密的token;
(2)、服务器端基于token、用户ip、用户ua再次加密生产用户并存入缓存服务器端;
(3)、用户会话拦截器获取cookie;
(4)、用户会话拦截器检查用户cookie中是否存在令牌:
①、若有令牌,则执行步骤(5);
②、若无令牌,则跳转至步骤(8);
(5)、缓存数据库查询会话信息,基于本次请求中的token、用户ip、用户ua再次加密生成用户会话标识;
(6)、查询缓存服务器端是否有用户会话标识:
①、若有,则执行步骤(7);
②、若没有,则跳转至步骤(8);
(7)、返回用户信息,下一步执行步骤(9);
(8)、直接抛出异常,下一步执行步骤(9);
(9)、结束;
数据传输。
2.根据权利要求1所述的防止自动脚本抢号的方法,其特征在于,当用户不断切换ip或通过不同的跳板机器访问抢购系统时,会被用户会话拦截器拦截。
3.根据权利要求1或2所述的防止自动脚本抢号的方法,其特征在于,访问频率异常拦截器工作流程具体如下:
(一)、用户每次请求时,服务器端会记录终端标识信息,并对ip及用户分别计数;
(二)、抢购系统对每秒钟、每分钟、每小时同一ip地址、同一用户的访问次数设置第一阈值和最大阈值;
(三)、访问频率异常拦截器通过服务器端查询用户访问次数;
(四)、访问频率异常拦截器判断用户访问次数是否超过第一阈值:
①、若用户访问次数超出第一阈值,则跳转至步骤(九);
②、若用户访问次数未超出第一阈值,则执行步骤(五);
(五)、访问频率异常拦截器判断用户访问次数是否超过最大阈值:
①、若用户访问次数超出最大阈值,则跳转至步骤(十);
②、若用户访问次数未超出最大阈值,则执行步骤(六);
(六)、访问频率异常拦截器通过服务器端查询ip访问次数;
(七)、访问频率异常拦截器判断ip访问次数是否超过第一阈值:
①、若ip访问次数超出第一阈值,则跳转至步骤(九);
②、若ip访问次数未超出第一阈值,则执行步骤(八);
(八)、访问频率异常拦截器判断ip访问次数是否超过最大阈值:
①、若ip访问次数超出最大阈值,则跳转至步骤(十);
②、若用户访问次数未超出最大阈值,则执行步骤(十一);
(九)、修改用户图片验证码验证时长,提高图形验证码的校验频率,下一步执行步骤(十一);
(十)、直接抛出异常,抢购系统禁止该ip及用户访问,禁止访问时间可配置,下一步执行步骤(十一);
(十一)结束。
4.根据权利要求3所述的防止自动脚本抢号的方法,其特征在于,验证码拦截器用于校验后台缓存中用户是否有验证码通过标识,当没有验证码通过标识时,则直接返回异常。
5.根据权利要求1所述的防止自动脚本抢号的方法,其特征在于,数据传输具体如下:
查询商品信息;
对商品的ID加密:基于用户会话生产随机码,将商品ID和随机码进行ASE加密;其中,随机码存入缓存服务器端,以备解密时使用;
商品价格加密:商品真实价格和加密后的商品ID进行ASE加密;
商品可用数量加密:商品可用数量和加密后的商品ID进行ASE加密;
返回加密后的商品数据。
6.一种防止自动脚本抢号的系统,其特征在于,该系统包括,
安全认证单元,用于用户首次登录抢购系统时,弹出验证码进行认证,在抢购系统访问中,根据用户验证码校验时长弹出验证码进行认证,验证码校验时间默认所有用户均相同,在用户访问抢购系统过程中基于用户的行为进行动态调整;其中,安全认证单元中设置有用户会话拦截器、访问频率异常拦截器和验证码拦截器;
其中,验证码拦截器用于校验后台缓存中用户是否有验证码通过标识,当没有验证码通过标识时,则直接返回异常;
用户会话拦截器的工作流程具体如下:
(1)、用户登录后,在客户端cookie记录一个加密的token;
(2)、服务器端基于token、用户ip、用户ua再次加密生产用户并存入缓存服务器端;
(3)、用户会话拦截器获取cookie;
(4)、用户会话拦截器检查用户cookie中是否存在令牌:
①、若有令牌,则执行步骤(5);
②、若无令牌,则跳转至步骤(8);
(5)、缓存数据库查询会话信息,基于本次请求中的token、用户ip、用户ua再次加密生成用户会话标识;
(6)、查询缓存服务器端是否有用户会话标识:
①、若有,则执行步骤(7);
②、若没有,则跳转至步骤(8);
(7)、返回用户信息,下一步执行步骤(9);
(8)、直接抛出异常,下一步执行步骤(9);
(9)、结束;
数据传输单元,用于基于用户会话生产随机码,将核销商品数据进行加密。
7.根据权利要求6所述的防止自动脚本抢号的系统,其特征在于,所述访问频率异常拦截器工作流程具体如下:
(一)、用户每次请求时,服务器端会记录终端标识信息,并对ip及用户分别计数;
(二)、抢购系统对每秒钟、每分钟、每小时同一ip地址、同一用户的访问次数设置第一阈值和最大阈值;
(三)、访问频率异常拦截器通过服务器端查询用户访问次数;
(四)、访问频率异常拦截器判断用户访问次数是否超过第一阈值:
①、若用户访问次数超出第一阈值,则跳转至步骤(九);
②、若用户访问次数未超出第一阈值,则执行步骤(五);
(五)、访问频率异常拦截器判断用户访问次数是否超过最大阈值:
①、若用户访问次数超出最大阈值,则跳转至步骤(十);
②、若用户访问次数未超出最大阈值,则执行步骤(六);
(六)、访问频率异常拦截器通过服务器端查询ip访问次数;
(七)、访问频率异常拦截器判断ip访问次数是否超过第一阈值:
①、若ip访问次数超出第一阈值,则跳转至步骤(九);
②、若ip访问次数未超出第一阈值,则执行步骤(八);
(八)、访问频率异常拦截器判断ip访问次数是否超过最大阈值:
①、若ip访问次数超出最大阈值,则跳转至步骤(十);
②、若用户访问次数未超出最大阈值,则执行步骤(十一);
(九)、修改用户图片验证码验证时长,提高图形验证码的校验频率,下一步执行步骤(十一);
(十)、直接抛出异常,抢购系统禁止该ip及用户访问,禁止访问时间可配置,下一步执行步骤(十一);
(十一)结束。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如权利要求1至5中任一项所述的防止自动脚本抢号的方法。
CN202110879200.9A 2021-08-02 2021-08-02 防止自动脚本抢号的方法及系统 Active CN113794679B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110879200.9A CN113794679B (zh) 2021-08-02 2021-08-02 防止自动脚本抢号的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110879200.9A CN113794679B (zh) 2021-08-02 2021-08-02 防止自动脚本抢号的方法及系统

Publications (2)

Publication Number Publication Date
CN113794679A CN113794679A (zh) 2021-12-14
CN113794679B true CN113794679B (zh) 2023-04-18

Family

ID=79181284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110879200.9A Active CN113794679B (zh) 2021-08-02 2021-08-02 防止自动脚本抢号的方法及系统

Country Status (1)

Country Link
CN (1) CN113794679B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150137B (zh) * 2022-06-23 2023-06-23 浪潮通用软件有限公司 一种基于Redis的高频访问预警方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360122A (zh) * 2016-05-10 2017-11-17 北京京东尚科信息技术有限公司 防止恶意请求的方法和装置
CN110555303A (zh) * 2019-08-01 2019-12-10 苏宁云计算有限公司 防止机器脚本恶意访问的方法及装置
CN112235285A (zh) * 2020-10-12 2021-01-15 山东健康医疗大数据有限公司 基于非会话的用户认证模式和服务的方法及系统
CN112685726A (zh) * 2021-01-20 2021-04-20 浪潮云信息技术股份公司 一种基于keycloak的单点认证方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102903054A (zh) * 2012-09-27 2013-01-30 腾讯科技(深圳)有限公司 线上交易验证方法、装置及系统
US10354338B2 (en) * 2013-10-23 2019-07-16 Chicago Mercantile Exchange Inc. Disseminating floor quotes from open outcry markets
CN105491004A (zh) * 2015-08-26 2016-04-13 广州爱九游信息技术有限公司 交易关系建立方法、装置及系统
CN106372992A (zh) * 2016-08-31 2017-02-01 乐视控股(北京)有限公司 访问控制方法及访问控制装置
CN107180175B (zh) * 2017-05-18 2021-09-14 北京京东乾石科技有限公司 配送方法和配送装置以及配送系统
CN107784554B (zh) * 2017-09-28 2020-11-27 深圳乐信软件技术有限公司 订单处理的方法、装置、存储介质、服务器及终端设备
CN108418821B (zh) * 2018-03-06 2021-06-18 北京焦点新干线信息技术有限公司 基于Redis与Kafka的线上抢购系统高并发场景处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360122A (zh) * 2016-05-10 2017-11-17 北京京东尚科信息技术有限公司 防止恶意请求的方法和装置
CN110555303A (zh) * 2019-08-01 2019-12-10 苏宁云计算有限公司 防止机器脚本恶意访问的方法及装置
CN112235285A (zh) * 2020-10-12 2021-01-15 山东健康医疗大数据有限公司 基于非会话的用户认证模式和服务的方法及系统
CN112685726A (zh) * 2021-01-20 2021-04-20 浪潮云信息技术股份公司 一种基于keycloak的单点认证方法

Also Published As

Publication number Publication date
CN113794679A (zh) 2021-12-14

Similar Documents

Publication Publication Date Title
US10291619B2 (en) System, method, and device for delivering communications and storing and delivering data
US9910969B2 (en) System, method, and device for delivering communications and storing and delivering data
US9060012B2 (en) Methods and apparatus for detecting fraud with time based computer tags
US6918038B1 (en) System and method for installing an auditable secure network
US9773099B2 (en) System, method, and device for delivering communications and storing and delivering data
US9628473B1 (en) System, method, and device for delivering communications and storing and delivering data
US9590981B2 (en) System, method, and device for delivering communications and storing and delivering data
US9378339B2 (en) System, method, and device for delivering communications and storing and delivering data
CN101777105A (zh) 一种基于bios的计算机开机防伪验证方法
CN105871805A (zh) 防盗链的方法及装置
US8677510B2 (en) System, method, and device for communicating and storing and delivering data
CA3127882C (en) Short message sending method, device, and computer system
US20120036075A1 (en) Determining mobile account to apply marketplace charges
CN113794679B (zh) 防止自动脚本抢号的方法及系统
US8844054B2 (en) System, method, and device for communicating and storing and delivering data
CN111585995A (zh) 安全风控信息传输、处理方法、装置、计算机设备及存储介质
CN109948333A (zh) 一种账户攻击的安全防御方法及装置
CA2378542A1 (en) Safe net credit system
CN107086918B (zh) 一种客户端验证方法和服务器
US20080022004A1 (en) Method And System For Providing Resources By Using Virtual Path
CN111614620A (zh) 一种数据库访问控制方法、系统和存储介质
US9043934B2 (en) System, method, and device for delivering communications and storing and delivering data
CN115277141B (zh) 第三方系统的检测方法、系统、装置及电子设备
US8572720B1 (en) System, method, and device for communicating and storing and delivering data
EP3684026B1 (en) Method and apparatus for sending form request

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
GR01 Patent grant
GR01 Patent grant