以下 $username, $password 分別指用戶名和密碼,$sitekey 為站點擾碼。
密碼設置
<input type="password" name="passwd" />
<input type="hidden" name="t_code0" />
提交的時候,使用 javascript 處理
t_code0.value = md5 (username.value "|" passwd.value);
passwd.value = '';
假如提交的 passwd 有值或 t_code0 為空,設置密碼失敗;
t_code0 的值保存到數據庫的 save_pwd 字段中;
密碼校驗
1. 用戶端申請登錄
服務器生成隨機碼 $sid,保存到 $_SESSION[sid] 中,同時傳遞給用戶;
表單
<input type="hidden" name="sid" value="..." />
<input name="username" />
<input type="password" name="passwd" />
<input type="hidden" name="t_code" />
2. 用戶輸入用戶名和密碼,提交的時候,使用 javascript 處理
var t = md5 (username.value "|" passwd.value);
t_code.value = md5 (sid "|" t);
passwd.value = '';
3. 服務器端判定
假如 username 為空 或 passwd 非空 或 t_code 為空,返回登錄頁;
如沒有 $_SESSION[sid],返回登錄頁;
[php]