图解工行“融e购”秒杀验证页面代码

以前是工行科技的员工,跳槽后工行推出了“融e购”电商平台,里面有秒杀活动,但是需要中文验证,很难秒杀上。看到之前的同事通过内网秒杀收获不少,一怒之下看了看源码,分享给大家。

进入“融e购”页面后,右键--查看源代码

 

图1、验证码生成方式

 第一张图说明秒杀的中文验证码是后台生成的,并不是js脚本生成。由SeckillImgServlet这个Servlet,根据点击的时间点actyId=(new Date()).getTime()生成。

很明显,后台生成验证码,对于秒杀这类时效性较高的功能,固然会后台服务增加压力,但对纯js验证,安全上提高不少。

 

图2,3、触发验证


图解工行“融e购”秒杀验证页面代码_第1张图片
 
图解工行“融e购”秒杀验证页面代码_第2张图片
 这不说了啊,jQuery调用
inputCodeSubmit函数异步提交。

 

图4、根据后台返回值进行页面更新


图解工行“融e购”秒杀验证页面代码_第3张图片
 

 后台验证后的结果var resultFlag=data.resultFlag,如果resultFlag=“ok_success”则表示验证成功。orderId表示是否秒杀成功(其值为true或false)

 

图5、秒杀成功的提示码
图解工行“融e购”秒杀验证页面代码_第4张图片
 

总结:

通过页面代码来看,跳过验证去秒杀是不可能的。因为是通过验证函数来调用后台的秒杀函数,返值给orderId确定是否秒杀成功。

如果意淫的话,可以在第四张图注入var resultFlag=“ok_success”,甚至orderId=true。这些代码会跳过验证,但是只是意淫,因为连后台的秒杀程序也跳过了。后台数据没有改变,在付款的时候还是会失败的。

 

你可能感兴趣的:(ajax,javascript)