web開發中,經常會使用驗證碼功能,例如登錄、注冊,或其他關鍵功能之前經常會使用。合理使用
驗證功能可以防止ddos攻擊、爬蟲攻擊等。
實現效果:
實現原理:
由後台提供生成驗證碼的接口,前端每次請求會後端會生成驗證碼圖片和驗證碼,驗證碼圖片發送到客戶端供客戶端顯示,
驗證碼字符串保存再後端的Session中,待前端再次請求業務接口與session裡的驗證碼字符串做比對。
實現思路:
1、先由後端提供可以生產驗證碼圖片的接口
2、前端通過 img 中設置 src 屬性,請求驗證碼生成的接口。
3、對img設置點擊事件,每次點擊img的時候,都會改變src值重新請求src
4、做頁面接口操作時,比對輸入的驗證碼是否正確
實現代碼:
前端:
html:
<div class="centent-top" style=""> <div class="centent-left"><span>*</span>驗證碼:</div> <input type="text" class="verification-code-input"> <div class="verification-code"><img id="yzm" src="/SchoolRoll/accuser/code/check"></div> <div class="change"><span>看不清?</span><span style="color:#37CAF2;cursor: pointer;" id="changeImgCode">換一張</span></div> </div>
js:
var yzm =document.getElementById("yzm"); var changeImgCode =document.getElementById("changeImgCode"); yzm.onclick=function () { changPin(); } changeImgCode.onclick=function () { changPin(); } // 換驗證碼 function changPin() { $("#yzm").attr("src", "/SchoolRoll/accuser/code/check?time=" + Math.random()); }