1
我遇到了一個problem.here是我的驗證碼(在控制器):會話沒有真正沖洗,爲什麼?
public function login(Request $request){
$name = $request->name;
$pwmd5 = md5($request->pw);
$result= user::select(DB::raw("CASE WHEN password ='$pwmd5' THEN 1 ELSE 0 END AS passwrod_matches,id,name"))
->where('name',$name)
->first();
if ($result == null) {
return returnFormat('account wrong', false);
} elseif ($result['password_matches'] == '0') {
return returnFormat('pw wrong', false);
};
$result['password_status'] = '1';
static::saveUser($result);
return returnFormat($result);
}
static public function saveUser(&$user){
if(!is_array($user)){
$user->toArray();
}
$user['sid'] = Session::getId();
session(['user'=>$user]);
}
public function checkUser(Request $request){
$user = session('user');
return $user;
}
public function logout(Request $request){
session()->flush();
return returnFormat(true);
}
我所做的是登錄() - > checkuser() - >註銷(); 但是,當我登錄()與另一個帳戶時,我發現會話Id是完全一樣的。爲什麼?
爲什麼要改變?你爲什麼不使用'\ Auth'來處理那些東西? – tkausl
行..我試試吧。 – vancake
請勿使用您自己的驗證邏輯,也不要使用md5進行密碼散列。允許Laravel爲你處理這個問題,你只是要創建一個不安全的系統。 – Devon