2010-06-02 7 views
2

우리는 자동 로그인 기능을 사용하여 사용자가 직접 웹 응용 프로그램에 대한 링크를 사용하여 로그인 할 수 있습니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?웹 응용 프로그램 자동 로그인

우리는 다음과 같은 사항을 염두에 둡니다.

1) 사용자 자격 증명 (사용자 이름/암호)을 쿠키에 저장하십시오. 인증을 위해 쿠키를 보냅니다.

예컨대 http : //www.mysite.com/AutoLogin (여기서 사용자 이름/암호는 쿠키로 전달됩니다)

또는 링크 URL에 사용자 자격 증명을 전달하십시오.

HTTP : //www.mysite.com/AutoLogin?userid= <> & 암호 = <>

2) 서버 측 데이터베이스에 RANDON 토큰 및 저장 사용자 임의 토큰 및 사용자 IP를 생성합니다.

사용자가 링크를 사용하여 로그인 할 때 서버에서 토큰 및 사용자 IP의 유효성을 검사하십시오.

예컨대

HTTP : //www.mysite.com/AutoLogin?token= <>

다른 시스템에 대한 사용자의 컴퓨터에서 해커 복사 링크/쿠키가 자신이 로그인 할 경우 1 방식의 문제입니다.

두 번째 접근 방식의 문제점은 사용자 IP가 프록시 뒤에서 같은 조직의 모든 사용자에게 동일하다는 것입니다.

위에서 보안 측면에서 어느 것이 더 낫습니까? 위에 언급 된 것 이외의 더 나은 해결책이 있다면 저희에게 알려주십시오.

답변

1

Which one is better from above from security perspective?

모두 나쁜 있지만, 일반 텍스트로 암호를 저장하는 것은 죄입니다. 그것을 고려하지 마십시오.

If there is better solution which is other than mentioned above, please let us know.

는 자동 로그인을 구현하지 마십시오. 결코 안전하지 않을 것입니다.

1

안전한 "자동 로그인"은 일반 로그인 후에 설정되고 사용자가 사이트로 돌아올 때 확인되는 쿠키입니다. 쿠키는 적당한 시간이 지난 후에 만료됩니다. 첫 번째 방법은 이와 비슷하지만 사용자 이름과 비밀번호가 쿠키에 어떻게 저장되는지 설명하지 않았습니다. 대신에 일반 텍스트 사람들을 저장하는 최소에 포함 쿠키의 시리즈를 저장 :

  1. 사용자 이름
  2. 만료 시간
  3. 이전 항목의 서명 해시. 서명 된 것은 해시에 사이트에만 알려져 있고 다른 사람에게 공개 된 적이없는 해시가 있음을 의미합니다. 쿠키가 반환되면 처음 두 항목에 다시 서명하고 서명을 쿠키의 쿠키와 비교하십시오. 일치하면 해당 내용이 귀하에게서 왔고 변경되지 않았으므로 알려주십시오.
관련 문제