- 手艺 tags:
- captcha
- project
- web published: true comments: true
今天又讨论了一种验证码服务的机制,这种机制相对前两天说的简化的验证码生成的部分,由两步生成变成了一步生成,当然由于生成图片的接口直接暴露给用户,存在被刷的可能。
- 用户浏览器向应用服务器请求包含验证码的页面;
- 应用服务器将包含验证码地址的网页发送给用户浏览器;
- 用户浏览器通过img的src中的固定链接向验证码服务器请求验证码图片;
- 验证码服务器输出验证码图片流到用户浏览器,将sessionid写入cookie;
- 用户判读验证码图片,提交表单;
- 应用服务器取出cookie中的sessionid和用户输入发往验证码服务器;
- 验证码服务器进行验证,返回通过或拒绝;
- 应用服务器根据验证码服务器结果进行响应。
固定链接,简化了接入,便于接入静态页面;
缺点:
写cookie受到域的限制,只能在相同的域中使用该服务;
验证码接口暴露给用户,可能被穷举
百度和腾讯使用的都是这种方式。