网游反外挂图形验证机制的设计
(转载请注明来源于金庆的专栏)
为了防止外挂的自动操作, 在适当的时候会弹出一个图形验证码,
要求手工输入正确的验证码才允许操作.
例如登录时, 交易时, 有一定概率要求验证.
图形验证就是随机取几个字符, 生成加扰变形图形, 发往客户端,
客户端返回验证码与记录的字符一致时就算通过.
可以建立一个图形验证机制, 使图形验证可以插入到任何现有流程之内.
例如可以在交易中插入图形验证, 而无需更改原来的交易指令.
在收到客户端请求交易时, 如需要验证, 则向客户端发送验证图形,
同时缓存该交易请求.
如果正处于等待验证中, 则应该只对验证回复进行处理.
待客户端返回正确验证码时, 取出缓存的交易请求进入正常的交易处理.
图形验证的指令设计可适用于任意流程.
1. Svr->Clt, 发送验证码图片
2. Clt->Svr, 返回验证码, 如错误则发4
3. Clt->Svr, 看不清, 请求重发图片, 发1
4. Svr->Clt, 验证码错误, 重发图片
5. Clt->Svr, 放弃验证