問題:
專案的驗證碼一直不正確,怎麼輸入都錯,後來從網上找了各種解決方法,有說 src=」」 會執行兩次載入事件的,後來通過火狐瀏覽器去除錯確實發現有這個問題,**如下:
不過這個問題還是解決不了,因為不知道用什麼方法來阻止它執行兩次,後來又研究了好久還是不行。
定位問題:
一位同事看完之後發現每次請求的 jessionid 不一樣,這時候意識到是跟 jessionid 應該有些關係,後來直接通過 ip 去訪問發現驗證碼驗證正常,通過網域名稱訪問不行,到這個時候終於知道問題的原因了,那就是:網域名稱解析到 tomcat 之後出現了問題:就是 nginx 這邊把請求指向了2個不同的 tomcat,但是本身這個專案沒有使用 session
共享的機制,於是就出現了上面的問題,驗證碼在 tomcat1中生成,但是驗證卻在 tomcat2中進行驗證,這樣自然每次的驗證碼都是有問題的。
解決問題:
既然問題是因為 session 共享的問題,那麼問題就簡單了,我們直接在nginx 端使用 ip_hash來解決session 共享的問題(實際上對 ip 進行 hash 之後我們就不需要session 共享了)保證了每個ip訪問的 tomcat 都是同乙個,這樣驗證自然就通過了;
thinkPHP驗證碼失效的問題
閒來無事於是研究一下thinkphp 在寫乙個註冊頁面在驗證碼的環節卡住,症狀如下 前台輸入驗證碼,獲取input改變事件,以驗證驗證碼是否輸入正確,做出提示,然後提交,在後台處理的時候再次統一驗證,出錯則註冊失敗,返回,結果前台提示正常,可是一提交則一直提示驗證碼輸入錯誤,dump一下sessio...
mysql 驗證碼過期時間 簡訊驗證碼的失效時間
這裡使用的是tp5框架 參考一下 傳送驗證碼 public function sendsmscode str preg match preg str,phone 判斷是否正則通過 if str 0 return json code 200,msg 手機號碼格式錯誤 phone,data json 將...
驗證碼失效解決辦法
ob clean ob clean函式 清空先前輸出 import org.util.image import呼叫的是message thinkphp框架目錄下的擴充套件包extend library org util 中的image.class.php類檔案 image buildimagever...