美文网首页
JS局部刷新图形验证码

JS局部刷新图形验证码

作者: Leslie_2386 | 来源:发表于2017-10-11 07:49 被阅读0次

开发过程当中,网络安全采取的方法之一,采用验证码功能。一般在注册、登录的程序当中见得比较多。其自己在实现这一功能时,静态页面有一段调用图形验证码的PHP文件,//<img src='imgcode.php' id='imgcode'/>,验证码是随机生成的,一般将生成的验证码存入到SESSON当中,以便入其它相关验证操作,由于反应到客户端的图形验证码,这时得提供一个刷新验证码的功能,以重新生成验证码。考虑不通过刷新整个页面来达到这个效果,采用AJAX重新生成验证码时,发现SESSION值变了,客户端修改图片的src属性,给他重新赋值却无任何变化,请求响应时,js代码:

1.var img_obj=document.getElementById('imgcode');

2.img_obj.src='imgcode.php';

2.returen;

显然显示在客户端上的图形验证码和服务器上的没有得到统一更新。那么在验证操作时,将不可能得到正确地验证 。

原因是由于浏览器的缓存问题,如果两次都是同样的值(src='imgcode.php'),浏览器一般都不会刷新,所以需要给图片连接动一点手脚。将img_obj.src='imgcode.php'改成

1.img_obj.src = 'imgcode.php?timeamp=' + new Date().getTime();

2,也可以直接写成这样://<img src="../vdimgck.php” id=”vdimgck" onclick="javascript:this.src=this.src+’?rnd=’ + Math.random();" alt=”" title=”看不清,点击刷新”/>
加上一个时间值,或是在后面加上一串随机数字,只要保证总是重新刷新即可,再次运行,成功达到局部刷新功能!

其中的AJAX代码,php生成图形验证码的程序代码,网上搜一搜,会有很多,这里就不分享了。

相关文章

网友评论

      本文标题:JS局部刷新图形验证码

      本文链接:https://www.haomeiwen.com/subject/eevbyxtx.html