驗證碼通常在輸入頁面,主要是為了防止無聊人士通過迴圈提交攻擊伺服器
驗證碼的工作機制如下
step1)必須有個生成驗證碼的冬冬
1.1)驗證碼的顯示
1.2)驗證碼的產生
validate.do通常是個servlet,核心實現如下
step2)action的實現
//片斷1 檢查驗證碼,錯誤則返回到錯誤頁面通常還是本頁
actioncontext context = actioncontext.getcontext();
string sessionvalidationcode = (string) context.getsession().get(
"validationcode");
if ((validationcode == null)
|| (!validationcode.equals(sessionvalidationcode)))
//。。。。。呼叫業務邏輯
//片斷2 清除session,否則後有漏洞
context.getsession().remove("validationcode");
return action.success;
注意:1)上面的**在webwork中實現,webwork相關的**你無需理會,理解過程完全可以用任何方式實現
2)上面的**一看就有味道,僅僅為了演示而已。片斷1和片斷2完全可以放在乙個***中實現,這樣可以將驗證與action本身的冬冬解耦。
驗證碼的工作原理
驗證碼通常在輸入頁面,主要是為了防止無聊人士通過迴圈提交攻擊伺服器 驗證碼的工作機制如下 step1 必須有個生成驗證碼的冬冬 1.1 驗證碼的顯示 validate.do width 130 height 20 1.2 驗證碼的產生 validate.do通常是個servlet,核心實現如下 st...
12306驗證碼 驗證碼的架構
最近和眾屌絲一樣,在12306上面刷著春節回家的票。與她大戰無數個回合之後,終於搶到了一張回家的高鐵票,不斷感慨最近人品還不錯。當前,在使用12306的過程中,充滿很多的心酸,念叨了鐵道部的親人很多次 罪過 其中最讓人糾結的一項即是 驗證碼。12306採用驗證碼,無疑是一種很不錯的措施,可以在一定程...
cookie 實現驗證碼的原理
驗證碼技術用來解決網路中的惡意註冊或者 ddos 攻擊,主要原理是,讓使用者 輸入中的文字,如果通過了驗證,伺服器就在客戶端瀏覽器儲存乙個驗證 cookie,比如叫做 9hcxogjmhn5j7upmguya4abd 以後使用者訪問伺服器其他頁面的時候,伺服器先獲取這個 cookie,如果存在,說明...