关于验证码中验证码刷新优化问题(以CSDN登录为例)的讨论!
现在验证码在web系统中用的越来越普遍,为了避免机器人的破解,验证码的视觉效果越来越差,随之很多网站就加了“看不清,请刷新”之类的功能(当然不是简简单单的刷新,是只刷新验证码部分),以CSDN为首的技术站点自然也要走在前头,但是其验证码刷新的实现好像过于复杂,也许是处于安全的考虑吧!
这类粘出来部分前台代码
------------------
<script type="text/javascript">/*<![CDATA[*/
document.write('<img id="MzImgExpPwd" alt="" src="ShowExPwd.aspx?temp='+ (new Date().getTime().toString(36)) +'" />');
/*]]>*/</script>
<br />
<a href="#" onclick="document.getElementById('MzImgExpPwd').src='ShowExPwd.aspx?temp='+ (new Date().getTime().toString(36)); return false">重新获得验证码</a>
<br />
<input type="hidden" name="ClientKey" value="f357c66d-170b-4e96-b796-9d94e91ff000" />
<input name="CSDNUserLogin$tb_ExPwd" type="text" maxlength="5" id="CSDNUserLogin_tb_ExPwd" class="unnamed1" style="width:56px;" />
<span id="CSDNUserLogin_regval_ExPwd" style="color:Red;visibility:hidden;">校验码必须填写!</span>
--------------------------
而我实现起来非常简单
-------------
<img id="imgVerify" src="VerifyCode.aspx?" alt="看不清?点击更换" onclick="this.src=this.src+'?'" />
-----------------
欢迎大家就这个问题进行讨论,就验证码的功能进行很好的优化
关于这个源码我的blog有下载 http://blog.csdn.net/liudao --------------------编程问答-------------------- 楼主的网站不错
也看到很多网站都有验证码 但是不知道为啥弄得那么复杂
正好学习学习 --------------------编程问答-------------------- this.src+ '? ' 是什么意思? --------------------编程问答-------------------- 高手就是高手,一句话道破玄机
<img id= "imgVerify " src= "VerifyCode.aspx? " alt= "看不清?点击更换 " onclick= "this.src=this.src+ '? ' " />
很是管用 --------------------编程问答-------------------- <img id= "imgVerify " src= "VerifyCode.aspx? " alt= "看不清?点击更换 " onclick= "this.src=this.src+ '? ' " />
一般情况下这个就可以了,不能老是认为复杂的就是好的,还有需要注册dll的呢,咱就用简单实用的就行 --------------------编程问答-------------------- 我没觉得你的比CSDN优秀
其实都是一个原理.写法不同罢了
csdn是:
onclick= "document.getElementById( 'MzImgExpPwd ').src= 'ShowExPwd.aspx?temp= '+ (new Date().getTime().toString(36)
你的是:
onclick= "this.src=this.src+ '? ' "
你的只所以简化,是因为你是直接单击的验证码图片本身,所以可以用this以及this.src来简化.
而CSDN是单击图片之外的一个 <a href></a>
如果是电脑菜鸟,他很可能不知道单击图片还会刷新图片
PS:
你的所谓简单还可以简单成
onclick= "src=src+ '? '"
补充:.NET技术 , ASP.NET