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


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 相关文章推荐
    javascript获得网页窗口实际大小的示例代码
    Sep 21 Javascript
    javascript自启动函数的问题探讨
    Oct 05 Javascript
    JavaScript实现cookie的写入、读取、删除功能
    Nov 05 Javascript
    深入浅析Extjs中store分组功能的使用方法
    Apr 20 Javascript
    AngularJS入门教程之Select(选择框)详解
    Jul 27 Javascript
    js实现弹窗暗层效果
    Jan 16 Javascript
    JS实现div模块的截图并下载功能
    Oct 17 Javascript
    angular动态表单制作
    Feb 23 Javascript
    webpack打包node.js后端项目的方法
    Mar 10 Javascript
    vue-router判断页面未登录自动跳转到登录页的方法示例
    Nov 04 Javascript
    vue实现禁止浏览器记住密码功能的示例代码
    Feb 03 Vue.js
    JS实现刷新网页后之前浏览位置保持不变示例详解
    Aug 14 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
    php读取远程gzip压缩网页的方法
    2014/12/29 PHP
    PHP提高编程效率的20个要点
    2015/09/23 PHP
    PHP入门教程之操作符与控制结构流程详解
    2016/09/09 PHP
    PHP依赖注入(DI)和控制反转(IoC)详解
    2017/06/12 PHP
    laravel实现上传图片并在页面显示的例子
    2019/10/14 PHP
    javaScript - 如何引入js代码
    2021/03/09 Javascript
    使用javascript访问XML数据的实例
    2006/12/27 Javascript
    javascript IE中的DOM ready应用技巧
    2008/07/23 Javascript
    jQuery动态改变图片显示大小(修改版)的实现思路及代码
    2013/12/24 Javascript
    JavaScript动态提示输入框输入字数的方法
    2015/07/27 Javascript
    jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
    2015/12/31 Javascript
    如何在Linux上安装Node.js
    2016/04/01 Javascript
    jQuery实现模拟flash头像裁切上传功能示例
    2016/12/11 Javascript
    Bootstrap的popover(弹出框)在append后弹不出(失效)
    2017/02/27 Javascript
    常用的js方法合集
    2017/03/10 Javascript
    ionic2屏幕适配实现适配手机、平板等设备的示例代码
    2017/08/11 Javascript
    原生JS实现图片无缝滚动方法(附带封装的运动框架)
    2017/10/01 Javascript
    Vue组件的使用教程详解
    2018/01/05 Javascript
    vue服务端渲染缓存应用详解
    2018/09/12 Javascript
    Vuepress 搭建带评论功能的静态博客的实现
    2019/02/17 Javascript
    解决vue项目 build之后资源文件找不到的问题
    2020/09/12 Javascript
    [01:08:17]2018DOTA2亚洲邀请赛3月29日 小组赛B组 EG VS VGJ.T
    2018/03/30 DOTA
    MySQLdb ImportError: libmysqlclient.so.18解决方法
    2014/08/21 Python
    通过python实现随机交换礼物程序详解
    2019/07/10 Python
    Pycharm创建python文件自动添加日期作者等信息(步骤详解)
    2021/02/03 Python
    HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
    2014/05/07 HTML / CSS
    幼儿园中班下学期评语
    2014/04/18 职场文书
    升职演讲稿范文
    2014/05/23 职场文书
    会议接待欢迎标语
    2014/10/08 职场文书
    个人创业事迹材料
    2014/12/30 职场文书
    2015年财务工作总结范文
    2015/03/31 职场文书
    办公经费申请报告
    2015/05/15 职场文书
    保留意见审计报告
    2015/06/05 职场文书
    培训学校2015年度工作总结
    2015/07/20 职场文书
    Vue全家桶入门基础教程
    2021/05/14 Vue.js
    python操作xlsx格式文件并读取
    2021/06/02 Python