V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
leohxj
V2EX  ›  JavaScript

有没有用js实现的验证码库?

  •  
  •   leohxj · 2013-01-14 19:08:40 +08:00 · 4842 次点击
    这是一个创建于 4365 天前的主题,其中的信息可能已经有所发展或是发生改变。
    简单的也行。
    16 条回复    2014-12-17 11:20:36 +08:00
    Mutoo
        1
    Mutoo  
       2013-01-14 19:37:30 +08:00   ❤️ 1
    js是前端脚本,任何在前端产生的内容都不足以做为验证码。

    验证码是用来阻碍自动化脚本的,你用js的话,等于直接把验证码给公开了。

    如果你不想自己实现服务端产生验证码的话,可以考虑用这个开放服务 http://www.google.com/recaptcha
    leohxj
        2
    leohxj  
    OP
       2013-01-14 22:36:28 +08:00
    @Mutoo 前端做校验不可取吗?
    arg0
        3
    arg0  
       2013-01-14 22:44:40 +08:00
    @Mutoo 最近想换验证码,google这个有些网络下访问不了。

    在用户那碰到几次这样的现像了,google服务不稳定。
    undozen
        4
    undozen  
       2013-01-14 22:44:48 +08:00   ❤️ 1
    有过,不是库,是 SONY 的网站。。。
    binux
        5
    binux  
       2013-01-14 22:53:42 +08:00   ❤️ 1
    验证码是通过识别明文,然后比较识别结果和明文来判别人类的。
    如果只有js,那么比较也是由客户端进行的,那么意味着明文暴露给了机器,无从比较。
    如果部分js,那要js干嘛?直接生成图片不就好了吗?
    leohxj
        6
    leohxj  
    OP
       2013-01-14 22:58:22 +08:00
    @undozen 什么意思,给个链接看看。
    undozen
        7
    undozen  
       2013-01-14 23:01:16 +08:00
    RelativeLayout
        8
    RelativeLayout  
       2013-01-14 23:19:40 +08:00
    js做验证码没有意义
    heroicYang
        9
    heroicYang  
       2013-01-14 23:21:14 +08:00
    不要相信前端的验证...
    revlis7
        10
    revlis7  
       2013-01-14 23:34:32 +08:00
    既然是校验,那么肯定牵涉到用户输入与真实值的比较,如果放在js做check,那就是在浏览器里做判断,用户可以在浏览器里通过工具(比如firebug),绕过校验机制,这样验证码也就失去了作用。

    所以一般情况下,check验证码都应该是由后台完成的,比较流行的插件也应该是应用在服务器端的。

    另外recaptcha可能比较入文艺青年的法眼,但是实际在国内应用时,对英语基础很差或很不敏感的人(比如低龄或高龄人群)不是很友好。

    我用过一个俄罗斯人用php写的Kcaptcha,如果是php的话可以参考下。
    luin
        11
    luin  
       2013-01-14 23:55:47 +08:00   ❤️ 1
    jQuery.ajax()
    CosWind
        12
    CosWind  
       2013-01-15 09:24:43 +08:00 via Android
    同上,前端做这个好比具有密码找回。。
    BOYPT
        13
    BOYPT  
       2013-01-15 10:13:55 +08:00
    @Mutoo 谁说js只在前端跑的。
    Mutoo
        14
    Mutoo  
       2013-01-15 10:43:52 +08:00
    @BOYPT 我当然知道还有nodejs和jscript,但是你看,人家楼主问的是前端。
    soulteary
        15
    soulteary  
       2013-01-15 14:14:35 +08:00
    换一个思路吧,不要验证码,只有达成某些条件,动态创建一个可以填写或者提交的控件。接口判断准确的refer和session我也觉得也行。除了恶意搞你的人,但是针对恶意搞你的人,除了机制特别完善,你也没有办法不是么?机器人,一般用户,基本灌不了你的水了。
    beef9999
        16
    beef9999  
       2014-12-17 11:20:36 +08:00
    @Mutoo
    要翻墙吧,用户用不了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   959 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:39 · PVG 05:39 · LAX 13:39 · JFK 16:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.