[发明专利]一种防止作弊程序快速提交的方法有效
| 申请号: | 201711377653.1 | 申请日: | 2017-12-19 |
| 公开(公告)号: | CN108089849B | 公开(公告)日: | 2021-04-27 |
| 发明(设计)人: | 张伟荣;季统凯 | 申请(专利权)人: | 国云科技股份有限公司 |
| 主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/41 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 523808 广东省东莞市松山湖高*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 防止 作弊 程序 快速 提交 方法 | ||
本发明涉及网站开发技术领域,具体涉及一种防止作弊程序快速提交的方法。本发明所述的方法是服务端生成一个随机数作为盐值并存储在session中,页面通过脚本对answer进行盐值的哈希计算,answer从0开始直至得到的哈希值符合要求;表单提交时将answer一并提交;在服务端校验answer是否符合要求,从而识别是否有作弊行为。本发明解决了普通表单页面容易被作弊程序破解,被短时间内快速重复提交垃圾广告信息的问题。
技术领域
本发明涉及网站开发技术领域,具体涉及一种防止作弊程序快速提交的方法。
背景技术
目前网站表单提交页通常采取验证码和限制单个IP提交时间间隔的措施防止被作弊程序快速重复提交垃圾广告信息。但随着技术进步,验证码容易被识别破解,难以识别的验证码则影响用户体验,IP限制则容易被作弊程序自动更换IP破解。
发明内容
本发明解决的技术问题在于提供一种防止作弊程序快速提交的方法,解决现有验证码和IP限制方式影响用户体验和容易被作弊程序破解的问题。
本发明解决上述技术问题的技术方案是:
所述的方法是服务端生成一个随机数作为盐值并存储在session中,页面通过脚本对answer进行盐值的哈希计算,answer从0开始直至得到的哈希值符合要求;表单提交时将answer一并提交;在服务端校验answer是否符合要求,从而识别是否有作弊行为。
所述的方法包含以下步骤:
步骤一、表单页面初始化时,服务端生成一个随机数,并存储在
session[“question”]中;
步骤二、前端页面在脚本中使用生成的随机数进行盐值的哈希计算获得answer的Hash值,answer从0开始,直至计算得到的Hash值符合要求;
步骤三、用户提交表单时,将answer作为参数值一并提交到服务端,如果此时未计算完成,则提示用户提交过快,等待计算完成;
步骤四、服务端用接收的answer参数值,取session[“question”]的值作为盐值,计算Hash值,校验answer是否正确,从而判断是否有作弊行为。
所述的判断是,answer校验正确则认定不存在作弊行为。
本发明的有益效果:在页面上使用生成的盐值作Hash值计算并得到规定的结果;虽然需要耗费一定的时间,但由于是与用户填写表单同时进行,用户不会察觉也不会影响用户体验。本发明的防御措施与验证码不同,普通作弊程序难以破解。即使作弊程序按要求作Hash值计算并提交,也一样需要耗费一定时间;从而防止作弊程序快速提交垃圾广告信息。本发发明的方法可以再搭配传统的验证码、IP限制等措施,极大地限制作弊程序的作用。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的方法流程图。
具体实施方式
如图1所示,本发明采用如下步骤:
步骤一、表单页面初始化时,服务端生成一个4位随机正整数,并存储在session[“question”]中;
Random rd=new Random();
int question=rd.Next(1000,9999);
session[question]=question;
步骤二、前端页面在脚本中使用生成的随机数作为盐值计算answer的Hash值,answer从0开始,直至计算得到的Hash值前4个字符为“1111”;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711377653.1/2.html,转载请声明来源钻瓜专利网。





