第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP判斷用戶登錄狀態(tài),效率并且安全的方案是什么?

PHP判斷用戶登錄狀態(tài),效率并且安全的方案是什么?

慕妹3146593 2019-04-23 15:35:47
本人比較菜,目前使用的方案是1.在客戶端COOKIES中保存用戶ID和一個加密碼(規(guī)則只有我知道)2.如果程序檢測到客戶端保存的COOKIESID。就去跟數(shù)據(jù)庫驗證加密碼,如果一致則返回對應(yīng)用戶的登錄信息,否則返回FALSE感覺效率和安全性都不是很好1.用戶訪問每個頁面都要去跟數(shù)據(jù)庫驗證一遍2.加密碼雖然規(guī)則很復(fù)雜,但是保存在客戶端依然存在被破解的可能性
查看完整描述

2 回答

?
料青山看我應(yīng)如是

TA貢獻(xiàn)1772條經(jīng)驗 獲得超8個贊

“用戶訪問每個頁面都要去跟數(shù)據(jù)庫驗證一遍”這怎么會呢?1,瀏覽器URL訪問頁面資源,
2,查看SESSION會話是否記錄登陸狀態(tài),如“否”從3繼續(xù),如“是”則到5
3,獲取瀏覽器客戶端的COOKIE用戶標(biāo)識信息,如果存在用戶信息則繼續(xù)4,如“否”或者不符合既定原則則到6
4,判斷用戶標(biāo)識是否可信,比如將加密的字串解密,取出字串中的id和密碼與數(shù)據(jù)庫中信息對比是否匹配,如果匹配則到5,如果不匹配則6
5,驗證登陸狀態(tài)通過
6,驗證登陸狀態(tài)不通過如此看怎么會老是讀數(shù)據(jù)庫呢?分割線一般常規(guī)“記住登陸”方法,可以將ID和密碼組合成字符串再salt加密后存到瀏覽器客戶端。每次和服務(wù)器端驗證時,再解密分割取得ID和密碼與數(shù)據(jù)庫比對。如此安全性還是可以的。比如這是存到客戶端COOKIE$data=$id."\t".md5($password.$slat);//$slat可以是硬編或者隨機(jī)存在用戶列的值
$identity=base64_encode(encrypt($data,$key));//encrypt為自實現(xiàn)的加密函數(shù)或方法,$key可以是硬編或者隨機(jī)存在用戶列的值
setcookie("testuser",$identity,time()+3600);比如這是取if(isset($_COOKIE['testuser']))
{
$identity=$_COOKIE['testuser'];
list($id,$password)=explode("\t",decrypt(base64_decode($identity),$key));//decrypt為自實現(xiàn)的解密函數(shù)或方法,$key可以是硬編或者隨機(jī)存在用戶列的值
//todo與數(shù)據(jù)庫列值比對
//...
}
                            
查看完整回答
反對 回復(fù) 2019-04-23
  • 2 回答
  • 0 關(guān)注
  • 400 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號