当前位置:编程学习 > C#/ASP.NET >>

关于验证码中验证码刷新优化问题(以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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,