2010年7月7日星期三

[PerlChina] 关于 captcha 的工作流程

Hi,

刚看了这个:
http://search.cpan.org/~agent/OpenResty-0.5.12/lib/OpenResty/Spec/Captcha_cn.pod

这个验证机制怎么搞这么复杂。。。

我设想的是这样的:

1. 浏览器生成一个随机字符串 s1 (用于区分内网里多个用户),发送
给服务器,服务器随机生成一个字符串 s2,保存 s1 + IP、s2、当前时间
到文件,同时把图片返回给浏览器。

2. 用户填写一个字符串 s3,跟随 s1 再次发送给服务器,服务器检索文件,
找 s1 + IP、s3 的记录,找得到而且时间戳跟当前时间相差不超过 t 分钟
则认为通过,生成 session id 发送给客户端。

我没看明白 Captcha_cn.pod 里提到的 UUID 是干嘛的,貌似它是先生成
captcha id(服务器生成的 UUID),再利用这个 id 去请求一个 captcha image。
那个两小时缓存是干嘛的? 为了重复利用同一个 captcha image?

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

没有评论: