验证码服务的两种方式

方式1,应用服务器负责生成验证码字符,验证码服务器主要负责验证码图片生成。 用户浏览器向应用服务器请求包含验证码的页面; 应用服务器生成验证码字符,存储在session中;应用服务器发送相关图片参数(验证码字符、宽、高、复杂度、背景色等)到验证码服务器; 验证码服务器返回图片地址到应用服务器; 应用服务器将包含验证码地址的网页发送给用户浏览器; 用户浏览器通过img的src方式向验证码服务器请求验证码图片; 验证码服务器输出验证码图片流到用户浏览器; 用户判读验证码图片,提交表单; 应用服务器取出session中的验证码字符比对,返回结果。 这种方式的优点: 较少的HTTP请求调用 替换原应用中独立的验证码功能相对容易 验证码服务器相对简单 方式2,验证码服务器承担验证功能,应用服务器在验证中仅起到传递作用。 用户浏览器向应用服务器请求包含验证码的页面; 应用服务器发送相关图片参数(宽、高、复杂度、背景色等)到验证码服务器; 验证码服务器返回图片地址、惟一的会话id到应用服务器; 应用服务器将包含验证码地址的网页发送给用户浏览器; 用户浏览器通过img的src方式向验证码服务器请求验证码图片; 验证码服务器输出验证码图片流到用户浏览器; 用户判读验证码图片,提交表单; 应用服务器将第三步获得的会话id和用户输入的验证码字符传给验证码服务器; 验证码服务器进行验证,返回通过或拒绝; 应用服务器根据验证码服务器结果进行响应。 这种方式的优点: 验证码服务功能完善,涵盖整个验证流程; 验证码服务端有详细的验证日志记录,便于数据分析; 欢迎大家就两种方式发表意见~

Posted in: 手艺 by Sunng 8 Comments , ,