Java Servlet實現簡單的驗證碼產生,javaservlet

來源:互聯網
上載者:User

Java Servlet實現簡單的驗證碼產生,javaservlet

  驗證碼存在的意義:不少網站為了防止使用者利用機器人自動註冊、登入、灌水,都採用了驗證碼技術。所謂驗證碼,就是將一串隨機產生的數字或符號,產生一幅圖片,圖片裡加上一些幹擾象素(防止OCR),由使用者肉眼識別其中的驗證碼資訊,輸入表單提交網站驗證,驗證成功後才能使用某項功能。

  

  就是類似這個樣子滴,PS:(前端頁面真不想寫,太麻煩了0.0)。

  思考:1.驗證碼的圖片資源哪裡來?                            解決:1.在Servlet中設定資料類型為圖片--->resp.setContentType("image/jpeg");並將產生的圖片輸入到                                                  response中。

 

 

     2.如何?點擊圖片更換驗證碼?                             2.在js代碼中添加函數,改變img的src資源---->codeImg.src="CodeImg?d="+Math.random();

                                                這裡需要注意一點:如果不追加一個隨機數,瀏覽器的緩衝影響,那麼每次點擊都是同一個                                                    Servlet產生的圖片,起不 到改變驗證碼的效果這裡有幾種方法供參考:

                                                一. GET請求URL後加隨機數,讓伺服器認為不是相同的請求。也可以傳一個隨機的參數。 
                                                例 “http://www.example.com/index.php?class=aitcle&page=5&_t=” + new Date().getTime() 
                                                二. 在ajax發送請求前加上 xmlHttpRequest.setRequestHeader(“If-Modified-Since”,”0”) 
                                                三. 在ajax發送請求前加上 xmlHttpRequest.setRequestHeader(“Cache-Control”,”no-cache”); 
                                                四. 使用POST代替GET,瀏覽器不會對POST做緩衝

 

 

     3.如何檢驗使用者輸入驗證碼與產生驗證碼?

 

     4.如何返回並獲得檢驗結果?

 

     5.晚飯吃什麼...........午飯吃什麼...........

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.