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);
}
は、ログイン()である - >チェックユーザー() - (>ログアウト)。 しかし、別のアカウントでlogin()を実行すると、セッションIDがまったく同じであることがわかりました。なぜですか?セッションを破壊する
なぜそれが変更する必要がありますか?そして、なぜあなたはその物に '\ Auth'を使わないのですか? – tkausl
OK。それを試してみます。 – vancake
独自の認証ロジックを使用せず、パスワードハッシュにmd5を使用しないでください。 Laravelがこれを処理できるようにするには、安全でないシステムを作成するだけです。 – Devon