영구 로그인을 위해 브라우저의 쿠키에 사용자의 인증 정보를 저장하고 싶습니다. 그들이 말했듯이 쿠키에는 비밀 정보 (예 : 비밀번호)를 저장하는 것이 결코 안전하지 않지만 '비밀번호 저장'과 같은 옵션을 사용하려면 다른 선택의 여지가 없다고 생각합니다.쿠키에 로그인 정보 저장
사용자가 자신의 로그인 정보를 기억하고 비밀번호가 아닌 사용자 이름 (이메일)을 저장하고 있지만 쿠키의 해시 된 DB ID와 같은 몇 가지 고유 정보가있는 경우. 쿠키에 저장된 해시 된 ID가 쿠키에 저장된 사용자의 이메일과 일치하는지 확인해야합니다. 누구나 브라우저에 저장된 쿠키를 쉽게 볼 수 있다고 생각합니다 (예 : Firefox, 옵션 -> 쿠키).
사람이 컴퓨터에서 쿠키를 읽는 것만큼이나 약하다. 그러면 다른 컴퓨터에서 쿠키가 그 정보로 설정되어 로그인하게됩니다. (스크립트가 저장된 이메일과 해시 된 ID를 데이터베이스로 검사하므로 일치 할 것입니다.)
데이터베이스의 다른 정보 (예 : 세션 ID 등)를 저장하지 않고도이 접근법을 조금 개선 할 수 있습니까? 감사합니다.
당신이 고려하고 싶은 한 가지 접근법은 쿠키에 사용자의 ID를 저장하는 것뿐 아니라 인증되지 않은 쿠키를 유지하는 것입니다. ID 쿠키가 있지만 인증 된 쿠키가없는 사용자는 시스템을 탐색 할 수 있지만 처음 시도 할 때 암호를 입력하라는 메시지가 표시됩니다. 암호가 맞으면 인증 된 쿠키가 설정되고 사용자에게 다시 묻지 않습니다. 쿠키가 지속되지 않으므로 인증은 세션이 끝날 때까지 지속됩니다. – GordonM
@ GordonM, 고마워, 나는 amazon.com이 같은 접근법을 가지고 있다고 생각한다. 쿠키에 액세스하면 이메일 + 및 일부 해시 정보를 말하고, 브라우저에서 쿠키를 설정하는 것이 얼마나 어려운지 알고 싶습니다. – Roman
나는 쿠키를 거의 저장하지 않을 것이다. 영속 ID 쿠키는 해당 사용자의 ID 만 사용하고 비 영구적 인 인증 쿠키는 true 또는 false 중 하나입니다. 스누핑 해커가 계속해야하는 ID 만 보내는 것처럼 작업을 수행하는 데 절대적으로 필요한 것보다 더 많은 쿠키를 저장하는 것을 피하십시오. 반면 해커가 어떻게 정보를 얻는 지에 대한 자세한 정보를 보내면 시스템 공격. – GordonM