网站首页>>成功案例>>Discuz>>Dx版本>>dx2.5免输入验证码插件
客户名称: 北京赛博智通信息技术有限责任公司
签约日期: 2012-09-12
演示网址: http://t10.bischina.com
案例介绍: dx2.5免输入验证码插件需求:
a.插件有一个独立的配置页面,仅Discuz管理员可访问,可以设定:
1) 设置可访问插件的用户名(用户ID)
2) 设置可访问插件的IP地址
3) 导入或是直接编译在程序里的允许访问者的数字证书(公钥),用于验证使用者的身份。
b.插件使用标准的URLGet方式访问,分为如下几步:
1) 外部系统请求插件获取验证码。
2) 插件检查请求Session(即Discuz的Session)认证状态,如果未认证,则返回自定义Http状态码222,同时在内容中返回一个随机字符串R,通知外部系统需要进行身份认证。如果已经认证则跳到5)。
3) 外部系统发送如下认证数据至插件:
a) 使用私钥将Session连接随机字符串R获取的字符串签名(RSA+SHA1)后的128byte数据执行HEX(16进制)编码的字符串S。
b) Discuz用户名。
4) 插件验证此Session的用户名,并使用公钥(证书)对S执行验签,如果两者均成功,则返回的Http状态码为200 OK,否则为自定义的Http状态码468 验证失败。验证成功之后,标记此Session的状态为已认证。
5) Discuz插件查询出验证码的值,并返回给外部系统。
截图:
(点小图查看大图)
点击图片看大图
点击图片看大图