[发明专利]处理网页重复请求的方法和系统有效
申请号: | 201510458030.1 | 申请日: | 2015-07-30 |
公开(公告)号: | CN105095462B | 公开(公告)日: | 2018-09-28 |
发明(设计)人: | 梅军 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 张晓峰;宋志强 |
地址: | 100080 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理 网页 重复 请求 方法 系统 | ||
本申请公开了一种处理网页重复请求的方法和系统,包括:服务端在收到提交网页信息的请求后,确定该网页信息的唯一标识和提交请求时间,从缓存中查询是否存在该网页信息唯一标识对应的缓存信息,如果存在则拒绝处理本次提交请求,否则执行对应的业务逻辑处理,同时将该网页信息唯一标识和提交请求时间作为缓存信息存在缓存中,设置对应的过期时间;在所述提交网页信息请求对应的业务逻辑处理结束后,清除该网页信息的唯一标识对应的缓存信息;客户端在提交网页信息请求时,从服务端请求获取该网页信息的唯一标识对应的缓存信息和对应的过期时间;客户端判断是否获取到该网页信息对应的缓存信息且该缓存信息未过期,如果是则不向服务端提交该网页信息请求,否则向服务端提交该网页信息请求。本发明可以提高网站抵抗网络攻击的性能。
技术领域
本申请涉及信息处理技术领域,尤其涉及一种处理网页重复请求的方法和系统。
背景技术
目前用于信息处理的业务系统越来越强大,一个请求处理的业务逻辑也越来越多,处理的业务逻辑越多自然耗时也就越长,几秒甚至10几秒也屡见不鲜,如果这时候前端操作者由于等不及了不断地点击提交按钮向服务端发送请求会怎么样呢?
比如图1为现有的电子商务行业的业务发布系统发布活动的一种流程图。参见图1,如果要发布一个活动给用户浏览,首先要创建一个活动,然后再在这个活动里录入若干个(例如500个)库存量单位(sku),活动还要展示这500个sku的所有尺码,库存,价格,促销等信息,当运营端搭建活动的时候只会录入500个sku,然后点击“提交”按钮,提交到服务端后服务端会调用尺码接口、库存接口、促销接口、价格接口来获取到相关展示的信息,还要把相关信息写进数据库。所述调用接口和把信息写入数据库都是发布活动的业务逻辑,如果服务端正在处理业务逻辑的时候,运营端又点了“提交”按钮,那么后台将又会处理相同的业务逻辑,并重复的调用相关接口,写入相同的数据,这样不仅会造成请求处理缓慢,写入数据异常,而且如果不法分子拿到了账号进入发布系统不断地提交发布请求,那该发布系统的软硬件系统、数据库、以及第三方接口服务(例如尺码、库存、价格、促销信息)等都无疑成了不法分子的恶意攻击对象,轻则造成请求处理缓慢,重则造成系统、数据库崩溃,第三方接口无法提供服务,这种攻击对于发布系统来讲是致命的,会影响所有业务的正常开展。
为了保证业务发布系统的业务正常开展,处理重复请求的问题必须要解决。现有技术中,一般用以下的解决方案:
1)将提交按钮设置为不可操作状态,例如当操作者点击“提交”按钮后立刻让此按钮变为不可操作状态,在现实状态上显示为灰色,这样就失去了点击功能,这样就无法再提交重复的请求。这种让按钮变灰来设置为不可操作状态,主要是通过修改按钮的css样式属性disabled来实现的。
2)使用验证码。如图2为现有技术中的一种使用验证码来防止重复请求的流程示意图。参见图2,例如当进入发布页面的时候,在后台生成一个验证码放入缓存中(为了控制缓存的大小,以及保证请求的可靠性,此验证码在一定时间内将失效),并将此验证码发送到前台隐藏起来,点击“提交”按钮发布活动请求的时候将此验证码一起提交到服务端,服务端先去缓存查找是否存在此验证码,如果有则执行后续的业务逻辑操作,没有则直接拒绝这个发布活动请求,这样就在一定程度上保证了每个请求的合法性,防止产生重复请求。
但是,所述现有技术方案存在以下的缺点:
上述第1)种现有技术是一种最简单的处理重复提交请求的方式,由于该方式是通过修改css样式来实现“提交”按钮变为非操作状态的,因此可以轻易的使用浏览器自带的网页修改功能来又让此按钮处于正常状态,就能继续再提交请求了,IE、chrome、firefox主流浏览器的F12键都可打开此修改功能。所以这种现有技术无法有效地防止针对网页的重复请求。
上述第2)种现有技术具有两方面的缺点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510458030.1/2.html,转载请声明来源钻瓜专利网。