關於表單重複提交之驗證碼 和谷歌Kaptcha圖片驗證碼的使用
阿新 • • 發佈:2021-08-05
表單重複提交之-----驗證碼
表單重複提交有三種常見的情況:
一:提交完表單。伺服器使用請求轉來進行頁面跳轉。這個時候,使用者按下功能鍵 F5,就會發起最後一次的請求。
造成表單重複提交問題。解決方法:使用重定向來進行跳轉
二:使用者正常提交伺服器,但是由於網路延遲等原因,遲遲未收到伺服器的響應,這個時候,使用者以為提交失敗,
就會著急,然後多點了幾次提交操作,也會造成表單重複提交。
三:使用者正常提交伺服器。伺服器也沒有延遲,但是提交完成後,使用者回退瀏覽器。重新提交。也會造成表單重複
提交。
谷歌 kaptcha 圖片驗證碼的使用
谷歌驗證碼 kaptcha 使用步驟如下:
1、匯入谷歌驗證碼的 jar 包
kaptcha-2.3.2.jar
2、我們只需要在 web.xml 中去配置用於生成驗證碼的 Servlet 程式
3、在表單中使用 img 標籤去顯示驗證碼圖片並使用
這個程式會自行的執行,並且將這個驗證碼圖片的具體數字傳送到Session域中儲存起來
4、在伺服器獲取谷歌生成的驗證碼和客戶端傳送過來的驗證碼比較使用。
為了更加完善,比如說當這個驗證碼圖片看不清的時候,我們需要點選它來實現切換的效果,那麼只需要在這個圖片上繫結一個單擊事件,對他的這個路徑重新賦值即可,
對於 this.src = "${basePath}kaptcha.jpg?d="+new Date(); 的解釋
因為每次發起請求,如果請求地址一樣的話,瀏覽器會因為有快取,所以圖片會不變,那麼將請求地址新增一個隨時間戳變化的請求引數即可改善這個現象。