網游反外掛圖形驗證機制的設計
(轉載請注明來源于金慶的專欄)
為了防止外掛的自動操作, 在適當的時候會彈出一個圖形驗證碼,
要求手工輸入正確的驗證碼才允許操作.
例如登錄時, 交易時, 有一定概率要求驗證.
圖形驗證就是隨機取幾個字符, 生成加擾變形圖形, 發往客戶端,
客戶端返回驗證碼與記錄的字符一致時就算通過.
可以建立一個圖形驗證機制, 使圖形驗證可以插入到任何現有流程之內.
例如可以在交易中插入圖形驗證, 而無需更改原來的交易指令.
在收到客戶端請求交易時, 如需要驗證, 則向客戶端發送驗證圖形,
同時緩存該交易請求.
如果正處于等待驗證中, 則應該只對驗證回復進行處理.
待客戶端返回正確驗證碼時, 取出緩存的交易請求進入正常的交易處理.
圖形驗證的指令設計可適用于任意流程.
1. Svr->Clt, 發送驗證碼圖片
2. Clt->Svr, 返回驗證碼, 如錯誤則發4
3. Clt->Svr, 看不清, 請求重發圖片, 發1
4. Svr->Clt, 驗證碼錯誤, 重發圖片
5. Clt->Svr, 放棄驗證
(轉載請注明來源于金慶的專欄)
為了防止外掛的自動操作, 在適當的時候會彈出一個圖形驗證碼,
要求手工輸入正確的驗證碼才允許操作.
例如登錄時, 交易時, 有一定概率要求驗證.
圖形驗證就是隨機取幾個字符, 生成加擾變形圖形, 發往客戶端,
客戶端返回驗證碼與記錄的字符一致時就算通過.
可以建立一個圖形驗證機制, 使圖形驗證可以插入到任何現有流程之內.
例如可以在交易中插入圖形驗證, 而無需更改原來的交易指令.
在收到客戶端請求交易時, 如需要驗證, 則向客戶端發送驗證圖形,
同時緩存該交易請求.
如果正處于等待驗證中, 則應該只對驗證回復進行處理.
待客戶端返回正確驗證碼時, 取出緩存的交易請求進入正常的交易處理.
圖形驗證的指令設計可適用于任意流程.
1. Svr->Clt, 發送驗證碼圖片
2. Clt->Svr, 返回驗證碼, 如錯誤則發4
3. Clt->Svr, 看不清, 請求重發圖片, 發1
4. Svr->Clt, 驗證碼錯誤, 重發圖片
5. Clt->Svr, 放棄驗證