关于图片验证码设计的思考


Posted in Javascript onJanuary 29, 2007
自从读了《网站重构》这本书,现在对网站设计的思想有了根本性的改变。国内越来越多的媒体也极度关注WEB标准的进展情况,很多门户网站也开始使用符合标准的设计方法重新设计页面,像网易等。
这段时间正好在制作一个访谈系统,采用了符合W3C标准的布局方法,分别在IE5.5、IE6.0、IE7.0、Firefox 2.0、Opera 9.0环境下进行了测试,各不同厂商对CSS的理解也进一步趋于完善,这对于前台页面的制作人员减少了一定的工作量。
好了,归于正题,谈谈关于图片验证码设计的问题。
现在越来越多的网站的注册、发布等页面都采用了防止一些恶意程序的图片验证码选项,不知道大家有没有碰到这样的情况,一个注册表单,填写了帐号信息、个人信息,最后一项的验证码太模糊了竟然看不清,只能是重新刷新整个页面来刷新图片验证码的内容,这是一个不良好的交互设计。
参考了一些门户网站的方法,我的改进设计思路如下:
  1. 把验证码输入项放在表单的第一行;
  2. 客户端可以在不刷新整个页面的情况下更新图片验证码的内容。
    下面重点讲讲第2点的实现方法,以ASP为例吧(目前我只会ASP,^_^)。
    我们一般要插入验证码都是使用<img />标签,例如<img src="inc/code.asp" />,其中inc/code.asp是一个生成图片的程序文件。为了能够更新验证码的内容,可以在图片旁边加一个更新的链接,单击触发图片重载事件,完成图片验证码的更换。具体代码如下:
    HTML:
    <a href="javascript:reloadcode();" title="更换一张验证码图片"><img src="inc/code.asp" id="safecode" alt="看不清,请换一张" /></a> <a href="javascript:reloadcode();" title="更换一张验证码图片">看不清,请换一张</a>
    JavaScript:
    function reloadcode(){
    document.getElementById('safecode').src = 'inc/code.asp?' + Math.random();
    }

    关于图片验证码设计的思考
    我的一个设计界面

    注意,在reloadcode函数中,我们在code.asp后面加了一个随机参数,这样每次的链接地址都不一样,从而达到更新的目的。
    第一次写原创的文章,欢迎大家多多评论和指点。
    Javascript 相关文章推荐
    下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
    Sep 19 Javascript
    jquery构造器的实现代码小结
    May 16 Javascript
    原生JavaScript实现连连看游戏(附源码)
    Nov 05 Javascript
    jquery 删除字符串最后一个字符的方法解析
    Feb 11 Javascript
    JavaScript学习心得之概述
    Jan 20 Javascript
    使用jquery操作session方法分享
    Jan 22 Javascript
    JavaScript动态加载样式表的方法
    Mar 21 Javascript
    javascript异步处理工作机制详解
    Apr 13 Javascript
    javascript实现行拖动的方法
    May 27 Javascript
    JQuery为元素添加样式的实现方法
    Jul 20 Javascript
    Bootstrap分页插件之Bootstrap Paginator实例详解
    Oct 15 Javascript
    js 动态校验开始结束时间的实现代码
    May 25 Javascript
    一些易混淆且不常用的属性,希望有用
    Jan 29 #Javascript
    WebGame《逆转裁判》完整版 代码下载(1月24日更新)
    Jan 29 #Javascript
    判断页面是关闭还是刷新的js代码
    Jan 28 #Javascript
    用JavaScript和注册表脚本实现右键收藏Web页选中文本
    Jan 28 #Javascript
    用js自动判断浏览器分辨率的代码
    Jan 28 #Javascript
    innerHTML,outerHTML,innerTEXT三者之间的区别
    Jan 28 #Javascript
    一个无限级XML绑定跨框架菜单(For IE)
    Jan 27 #Javascript
    You might like
    自己动手,丰衣足食 - 短波框形天线制作
    2021/03/01 无线电
    PHP新手NOTICE错误常见解决方法
    2011/12/07 PHP
    php使用curl和正则表达式抓取网页数据示例
    2014/04/13 PHP
    简单谈谈PHP中的trait
    2017/02/25 PHP
    PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
    2017/11/10 PHP
    发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
    2007/04/12 Javascript
    父子窗体间传递JSON格式的数据的代码
    2010/12/25 Javascript
    2012年开发人员的16款新鲜的jquery插件体验分享
    2012/12/28 Javascript
    jquery 实现两级导航菜单附效果图
    2014/03/07 Javascript
    纯javascript实现的小游戏《Flappy Pig》实例
    2015/07/27 Javascript
    javascript解决IE6下hover问题的方法
    2015/07/28 Javascript
    一种新的javascript对象创建方式Object.create()
    2015/12/28 Javascript
    JavaScript中获取纯正的undefined的方法
    2016/03/06 Javascript
    jQuery时间验证和转换为标准格式的时间格式
    2017/03/06 Javascript
    使用jQuery ajaxupload插件实现无刷新上传文件
    2017/04/23 jQuery
    Angular.JS通过指令操作DOM的方法
    2017/05/10 Javascript
    JS设计模式之数据访问对象模式的实例讲解
    2017/09/30 Javascript
    详解React Native 采用Fetch方式发送跨域POST请求
    2017/11/15 Javascript
    在HTML文档中嵌入JavaScript的四种方法
    2018/05/07 Javascript
    详解使用create-react-app快速构建React开发环境
    2018/05/16 Javascript
    vue中vee validate表单校验的几种基本使用
    2018/06/25 Javascript
    JavaScript中AOP的实现与应用
    2019/05/06 Javascript
    Python的Bottle框架中获取制定cookie的教程
    2015/04/24 Python
    Windows下使Python2.x版本的解释器与3.x共存的方法
    2015/10/25 Python
    浅谈Python2、Python3相对路径、绝对路径导入方法
    2018/06/22 Python
    python2使用bs4爬取腾讯社招过程解析
    2019/08/14 Python
    python爬虫添加请求头代码实例
    2019/12/28 Python
    python中resample函数实现重采样和降采样代码
    2020/02/25 Python
    Python类的动态绑定实现原理
    2020/03/21 Python
    最简单的matplotlib安装教程(小白)
    2020/07/28 Python
    HTML5利用约束验证API来检查表单的输入数据的代码实例
    2016/12/20 HTML / CSS
    美国著名的婴儿学步鞋老品牌:Robeez
    2016/08/20 全球购物
    机电一体化求职信
    2014/03/10 职场文书
    学院党委班子四风问题自查报告及整改措施
    2014/10/25 职场文书
    病人家属写给医院的感谢信
    2015/01/23 职场文书
    校运会广播稿
    2015/08/19 职场文书