驗證碼的原理、作用及實現
驗證碼原理分析及實現
一、前言
最近學習實現了驗證碼,首先附圖效果如下:(
簡單說明:
分別提交正確、錯誤的驗證碼及對應效果
本文是圖文結合說明)
二、驗證碼的作用
驗證碼是目前大多網站所支援並使用於註冊登入的。就在於其作用能有效防止惡意登入註冊,驗證碼每次都不同,
這就可以排除,用其他病毒或者軟體自動申請使用者及自動登陸.有效防止這種問題。
三、原理及知識點分析
1.原理
驗證碼於伺服器端生成,傳送給客戶端,並以影象格式顯示。客戶端提交所顯示的驗證碼,客戶端接收並進行比較,若比對失敗則不能實現登入或註冊,反之成功後跳轉相應介面。
2.主要知識
伺服器端的相關實現,前端運用 HTML 5,CSS 3 ,(可空白留給美工實現,須有 HTML 基礎知識)。
主要是三部分:
(提交介面, 成功及失敗的) jsp
(後臺對應提交 jsp 驗證提交內容的) servlet (生成驗證碼的) servlet
XML 文件
四、驗證碼實現
1.所用軟體為 Myeclipse
新建專案,預設生成 index.jsp 新建成功及失敗 jsp(檔名自定義,但後臺使用其路徑時要對應即可)
注意:將 charset ,pageEncoding 設定為 utf-8 才能支援中文,否則亂碼,此處採用 post 方法處理 Form 表單提交資料
2. jsp 程式碼寫介面
提交介面jsp 程式碼及成功 jsp失敗 jsp
三個介面的程式碼分別如下:
(1).提交頁面主要程式碼:
(2).成功頁面主要程式碼,驗證碼輸入成功跳轉的介面,提示登入成功或驗證碼輸入正確
(3).失敗頁面主要程式碼
( 其中form 表單中 action="index" 的 index 不是當前 index.jsp 檔案,是對應新建的檢測提交資料正誤的 servlet 名字可自定義,下面截圖所示:
此處是我的失誤,不用這個名字,就不必多解釋這一點,希望不會給各位帶來不必要的麻煩
)
3. servlet 檔案處理資料
新建 servlet 對應 img 的 src 路徑來源屬性值,此處命名為 ImageServlet (可自定義但要相互對應)
實現驗證碼的產生與顯示
程式碼如下:
新建 action 對應的路徑屬性值 servlet 命名為 index 實現驗證及相關處理
程式碼如下:
5.新建對應的 XML 文件,程式碼如下
所實現效果即本文開頭所示。
不足之處請見諒及指教,謝謝覽閱。
相關推薦
驗證碼的原理、作用及實現
驗證碼原理分析及實現一、前言 最近學習實現了驗證碼,首先附圖效果如下:( 簡單說明: 分別提交正確、錯誤的驗證碼及對應效果 本文是圖文結合說明)
FFE均衡技術的原理、作用及特點
分享圖片 基本 我認 采集 我們 feed 發送信號 因子 不用 說完CTLE之後,大家不用猜都知道會講FFE。的確,FFE(Feed Forward Equalization前向反饋均衡)和前面CTLE有一些相似之處,它們都是模擬的均衡器,同時也是線性的。當然說模擬,線性
均衡器CTLE的原理、特點及作用
性能 公式 img 原理 出發 alt 開始 它的 upload CTLE是什麽?上篇文章也提到了,直白的翻譯為連續時間線性均衡。它是在接收端芯片上的一種技術。之前也提到了,CTLE的作用可以在傳輸損耗較大的鏈路,有效的改善接收端眼圖的性能。 對於有過高速串行信號仿真經
PCA(主成分分析)降維的概念、作用及演算法實現
1、PCA降維的概念 Principal Component Analysis(PCA):主成分分析法,是最常用的線性降維方法。它的目標是通過某種線性投影,將高維的資料對映到低維的空間中表示,即把原先的n個特徵用數目更少的m個特徵取代,新特徵是舊特徵的線性組合。並期望在所投影的維度上資料的方
Laravel實現小程式使用openid登陸、手機號驗證碼登陸、賬戶密碼登陸三種登陸方式
目前開發小程式,按需求要實現3種登陸方式: 1、微信授權登陸 2、賬戶密碼登陸 3、手機號、驗證碼登陸 我使用laravel自帶的Auth認證機制,通過attempt方法進行賬戶驗證,但是預設的認證機制必須包含password欄位,而我的第1、3種登陸方式都沒有
Spring Security、實現圖形驗證碼功能、實現"記住我"功能
說在前面 博主最近會有很多專案跟大家一起分享,做完後會上傳github上的,希望讀友們能給博主提提意見哈哈 這個專案是第三方登入和安全方面的,關於後臺與a
讀《分散式物件儲存——原理、架構及 GO 語言實現》
單機 PUT 方式上傳介面,GET 下載介面。 分散式的,使用者客戶端,介面服務,儲存服務介面,本地磁碟。 上傳介面 定位介面 之後就沒有一一統計書中實現的介面了。 書中說還有視訊,我還沒有看。一本講分散式物件儲存系統的書,程式碼是用 GO 實現的,書
java泛型的作用及實現原理
一、泛型的介紹 泛型是Java 1.5的新特性,泛型的本質是引數化型別,也就是說所操作的資料型別被指定為一個引數。這種引數型別可以用在類、介面和方法的建立中,分別稱為泛型類、泛型介面、泛型方法。 Java泛型被引入的好處是安全簡單。 在J
spring-session簡介、使用及實現原理
一:spring-session 介紹 1.簡介 session一直都是我們做叢集時需要解決的一個難題,過去我們可以從serlvet容器上解決,比如開源servlet容器-tomcat提供的tomcat-redis-session-m
字元型圖片驗證碼識別完整過程及Python實現
1111000111111000111111100001111100000011 1110111011110111011111011110111100110111 1001110011110111101011011010101101110111 110111111111011010111111010
token的作用及實現原理
request end ret nvi net n) headers validate request對象 1:首先,先了解一下request和session的區別request 指在一次請求的全過程中有效,即從http請求到服務器處理結束,返回響應的整個過程,存放在Htt
驗證碼原理及驗證
# 驗證碼的原理 ## **驗證碼的作用:** 驗證碼是是一種區分使用者是計算機還是人的公共全自動程式,可以防止:惡意破解密碼、刷票、論壇灌水、有效防止某個黑客對某一特定註冊使用者,用特定程式暴力破解方式進行不斷的登入嘗試。實際上驗證碼是現在很多網站通行的方式,我們利用比較簡易的方式實現了這個功能。
C++ 叠代器原理、失效和實現
通過 print per 容器 struct gin net 嵌入 fin 目錄 叠代器的使用 叠代器的種類 叠代器的失效 叠代器的實現 1.叠代器的使用 為了提高C++編程的效率,STL中提供了許多容器,包括vector、list、map
哈希(Hash)與加密(Encrypt)的基本原理、區別及工程應用
class 區別 自己 裏的 lpad returns .net 角度 table 0、摘要 今天看到吉日嘎拉的一篇關於管理軟件中信息加密和安全的文章,感覺非常有實際意義。文中作者從實踐經驗出發,討論了信息管理軟件中如何通過哈希和加密進行數據保護。但是從文章評論
【轉】哈希(Hash)與加密(Encrypt)的基本原理、區別及工程應用
phy 理論 靈活運用 十分 實際應用 廣泛 tle 多網站 net 0、摘要 今天看到吉日嘎拉的一篇關於管理軟件中信息加密和安全的文章,感覺非常有實際意義。文中作者從實踐經驗出發,討論了信息管理軟件中如何通過哈希和加密進行數據保護。但是從文章評論中也可以
建立一個漂亮的PHP驗證碼類文件及調用方式
去掉 -1 cti elephant orm random 上一個 ott 狀態 //驗證碼類class ValidateCode { private $charset = ‘abcdefghkmnprstuvwxyzABCDEFGHKMNPRSTUVWXYZ2345678
java圖形驗證碼生成工具類及web頁面校驗驗證碼
組合 line des resp word buffere 需要 case ali 最近做驗證碼,參考網上案例,發現有不少問題,特意進行了修改和完善。驗證碼生成器:[ht
【轉】前端驗證碼倒計時、後臺發送驗證碼、創藍短信接口
statistic pla use code arr 是否 fun utf nsf 前端代碼:倒計時 <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"&
中間人攻擊——ARP欺騙的原理、實戰及防禦(轉載)
1.1 什麼是閘道器 首先來簡單解釋一下什麼是閘道器,閘道器工作在OSI七層模型中的傳輸層或者應用層,用於高層協議的不同網路之間的連線,簡單地說,閘道器就好比是一個房間通向另一個房間的一扇門。 1.2 ARP協議是什麼 ARP(Address Resolution Protoco
4關於Cookie的原理、作用,區別以及使用
1、cookie的作用: 我們在瀏覽器中,經常涉及到資料的交換,比如你登入郵箱,登入一個頁面。我們經常會在此時設定30天內記住我,或者自動登入選項。那麼它們是怎麼記錄資訊的呢,答案就是今天的主角cookie了,Cookie是由HTTP伺服器設定的,儲存在瀏覽器中,但HTTP協議是一種無狀態協議,