关于验证码中验证码刷新优化问题(以CSDN登录为例)的讨论!

liudao 2007-04-29 03:53:31

现在验证码在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
...全文
507 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuqinchai 2010-11-12
  • 打赏
  • 举报
回复
高手就是高手,一句话道破玄机
<img id= "imgVerify " src= "VerifyCode.aspx? " alt= "看不清?点击更换 " onclick= "this.src=this.src+ '? ' " />
很是管用
newdigitime 2010-11-12
  • 打赏
  • 举报
回复
我没觉得你的比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+ '? '"










andrewsway 2010-11-12
  • 打赏
  • 举报
回复
<img id= "imgVerify " src= "VerifyCode.aspx? " alt= "看不清?点击更换 " onclick= "this.src=this.src+ '? ' " />

一般情况下这个就可以了,不能老是认为复杂的就是好的,还有需要注册dll的呢,咱就用简单实用的就行
tttggg1631 2010-10-14
  • 打赏
  • 举报
回复
this.src+ '? ' 是什么意思?
epzuzu 2007-04-29
  • 打赏
  • 举报
回复
楼主的网站不错
也看到很多网站都有验证码 但是不知道为啥弄得那么复杂

正好学习学习

62,232

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧