另一种验证码方式

Thu 15 October 2009
  • 手艺 tags:
  • captcha
  • project
  • web published: true comments: true

今天又讨论了一种验证码服务的机制,这种机制相对前两天说的简化的验证码生成的部分,由两步生成变成了一步生成,当然由于生成图片的接口直接暴露给用户,存在被刷的可能。

  1. 用户浏览器向应用服务器请求包含验证码的页面;
  2. 应用服务器将包含验证码地址的网页发送给用户浏览器;
  3. 用户浏览器通过img的src中的固定链接向验证码服务器请求验证码图片;
  4. 验证码服务器输出验证码图片流到用户浏览器,将sessionid写入cookie;
  5. 用户判读验证码图片,提交表单;
  6. 应用服务器取出cookie中的sessionid和用户输入发往验证码服务器;
  7. 验证码服务器进行验证,返回通过或拒绝;
  8. 应用服务器根据验证码服务器结果进行响应。
优点:
固定链接,简化了接入,便于接入静态页面;

缺点:
写cookie受到域的限制,只能在相同的域中使用该服务;
验证码接口暴露给用户,可能被穷举

百度和腾讯使用的都是这种方式。