首先須要知道和保證的是mysql
算法是公開的算法
js是可讀的sql
密碼是不能泄露的數據庫
好的,基於此咱們來實現這個過程安全
假設咱們在註冊時對密碼採用MD5加密的方式保存,那麼這裏咱們也須要在前臺使用md5(和註冊時保持一致的不可逆算法便可)加密
一、首先js拿到帳號uname,密碼pwd,經由MD5加密密碼得 md5(pwd) 別名 md5pwdmd5
二、md5(uname+md5pwd+timestamp) 別名 sign登錄
三、傳遞數據uname,timestamp,sign到後臺後臺
四、數據庫根據uname取出密碼別名mysqlpwd 根據md5(uname+mysqlpwd+timestamp) 與傳遞過來的sign作比較,一致則校驗經過請求
五、可對uname,timestamp進行記錄,每一個相同的請求限制只生效一次
到此,咱們已經實現用於安全登陸防篡改和防重複攻擊。