[发明专利]防重复提交方法、装置和系统有效
| 申请号: | 201710512169.9 | 申请日: | 2017-06-28 |
| 公开(公告)号: | CN109144625B | 公开(公告)日: | 2021-08-27 |
| 发明(设计)人: | 陆国际;张德阳;张霞 | 申请(专利权)人: | 东软集团股份有限公司 |
| 主分类号: | G06F9/451 | 分类号: | G06F9/451;G06F16/95 |
| 代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张润 |
| 地址: | 110179 辽*** | 国省代码: | 辽宁;21 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 重复 提交 方法 装置 系统 | ||
本发明提出一种防重复提交方法、装置和系统,其中,方法包括:通过服务端在接收客户端在页面渲染前发送的第一请求之后,根据第一请求生成并存储页面中各目标对象的令牌。进而向客户端发送令牌,并在接收到客户端发送的用于提交目标对象的第二请求时,根据第二请求中的令牌与存储的令牌是否相同,判断目标对象是否为首次提交。由于采用了客户端在页面渲染前发送第一请求的方式生成令牌,替换了现有技术中通过页面携带s:token标签,并由服务端解析该标签生成令牌的步骤,进而解决了由于s:token标签仅能够适用于JSP页面,所导致的现有技术中防重复提交的应用范围受限的技术问题。
技术领域
本发明涉及计算机技术领域,尤其涉及一种防重复提交方法、装置和系统。
背景技术
防重复提交,是用于防止页面重复提交的一种机制,在涉及业务交易的页面中较为常用,例如转账交易,以避免多次重复提交转账请求,导致重复转账。
现有技术中,采用标签技术防止重复提交。举例来说,在用户需要提交的表单中,加入s:token标签。当浏览器首次访问带有这个标签的页面时,服务端生成一个令牌(token),并提供给浏览器,以便浏览器提交表单的时候一并提交给服务端。服务端根据是否存储有这个token判断表单是否首次提交。
但由于现有技术中,必须基于标签库(taglib)技术加入s:token标签,因此,仅适用于JAVA服务端页面,即JSP页面,适用范围受限,无法应用于互联网领域广泛应用的轻量级超级文本标记语言(HyperText Markup Language,HTML)页面。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种防重复提交方法,以扩大防重复提交的应用范围,使得包括HTML在内的页面均能够实现防重复提交。
本发明的第二个目的在于提出一种防重复提交装置。
本发明的第三个目的在于提出一种防重复提交系统。
本发明的第四个目的在于提出一种计算机设备。
本发明的第五个目的在于提出一种非临时性计算机可读存储介质。
本发明的第六个目的在于提出一种计算机程序产品。
为达上述目的,本发明第一方面实施例提出了一种防重复提交方法,包括:
接收客户端在页面渲染前发送的第一请求;其中,所述第一请求用于指示所述页面中防重复提交的目标对象;
生成所述目标对象的令牌,并在会话控制文件中,存储所述目标对象的标识,以及对应的令牌;
向所述客户端发送所述令牌;
当接收到所述客户端发送的用于提交所述目标对象的第二请求时,根据所述第二请求中的目标对象的标识,在所述会话控制文件中查询,以得到存储的令牌;
若所述第二请求中的令牌与存储的令牌相同,确认所述目标对象为首次提交,并在所述会话控制文件中,修改所述目标对象的标识。
可选地,作为一种可能的实现方式,所述根据所述目标对象的标识,在所述会话控制文件中查询之后,还包括:
若所述第二请求中的令牌与存储的令牌不同,或在所述会话控制文件中,未查询到存储的令牌,确认所述目标对象为重复提交。
可选地,作为一种可能的实现方式,所述确认所述目标对象为首次提交之后,还包括:
若所述第二请求执行过程中生成异常信息,在所述会话控制文件中,将修改后的目标对象的标识恢复为修改前的目标对象的标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东软集团股份有限公司,未经东软集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710512169.9/2.html,转载请声明来源钻瓜专利网。





