驗證碼的cookie實現

2021-06-22 02:37:58 字數 736 閱讀 2339

jq的ajax十分方便,最近做兩個**功能都用到了:驗證碼字串的獲取與使用者名稱檢驗。

一、驗證碼字串的獲取

我一開始的思路是伺服器生成驗證碼並存放在session中,客戶端利用ajax非同步獲取,並且校驗。問題來了,由於ajax非同步獲取期間,js的**已經繼續執行,往往無法獲取最新的驗證碼字串,解決辦法是徹底放棄session,在伺服器生成驗證碼字串的時候就寫入客戶端cookie中,客戶端從本地cookie中獲取字串,解決了非同步造成的延時問題。

寫入cookie:

public string execute() throws exception

客戶端讀取:

// 通過cookie獲取驗證碼字串

function getsecuritycode() );

if (document.cookie.length > 0)

}}

二、使用者名稱檢驗

初衷很簡單,使用者輸入使用者名稱後向伺服器查詢該使用者名稱是否已經被使用(因為專案設計裡使用者名稱是唯一的),然而實時驗證過程中,再次出現了ajax返回結果與**執行速度不同步問題,據我了解的一點點資料,可以使用callback函式解決此類問題,然而時間有限,我選擇了較為簡單的將ajax設定為同步的方法來解決這個問題:

async : false

此方法雖然解決我的問題,但是同步會造成頁面的假死,雖然在這個頁面裡沒有出現這個問題。

cookie 實現驗證碼的原理

驗證碼技術用來解決網路中的惡意註冊或者 ddos 攻擊,主要原理是,讓使用者 輸入中的文字,如果通過了驗證,伺服器就在客戶端瀏覽器儲存乙個驗證 cookie,比如叫做 9hcxogjmhn5j7upmguya4abd 以後使用者訪問伺服器其他頁面的時候,伺服器先獲取這個 cookie,如果存在,說明...

驗證碼實現

1.gd庫 2.建立影象步驟 1 建立畫布 就是在記憶體中開闢一塊臨時區域,用於儲存圖影象資訊 2 繪製影象 使用各種函式設定影象顏色,背景,填充畫筆,繪製圖形等 3 輸出圖形 以某種格式儲存到伺服器或者輸出到瀏覽器顯示給使用者。注意 直接輸出之前一定要用header 告訴瀏覽器以影象格式來處理該輸...

php驗證碼zhuc php實現驗證碼製作

php實現驗證碼製作 首先,看一張圖了解驗證碼生成的過程。1 生成驗證碼底圖 2 驗證碼內容 3 生成驗證碼 4 對比校驗 驗證碼實現的核心技術分析 a 底圖的 實現,並新增干擾元素 b 生成驗證內容 c 驗證內容儲存在服務端 d 驗證內容的校驗 下面看 實現的過程 這段 實現了產生 隨機數字,隨機...