마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

로그인 관련 질문입니다.

0 추천

https를 사용해서 로그인을 구현하고 있습니다.

 

현재는 서버와 클라간에 통신은 원할하게 되고 있습니다. 

 

궁금한 것은 로그인 결과 값으로 클라이언트에게 어떤 메시지를 날려야하는지입니다.

 

클라이언트가 입력한 ID와 password가 올바르면 결과값으로 특정 값을 주고

 

아니라면 다른 값을 넣어주는 식으로 구현했을 때 보안상 문제가 없을까요?? 예를들어 성공하면 1 실패하면 0 을 보내는 식으로요.

 

아니면 HTTP 코드인 200이나 406 값을 날려서 구현하는 것은 어떤가요?

 

이 외에 표준화된 방법이 있으면 알려주시면 감사드립니다.

빵의경계 (170 포인트) 님이 2017년 1월 31일 질문

1개의 답변

0 추천
 
채택된 답변
뭐 표준이라면 표준인데 HTTP 1.1에서 이미 HTTP 상태코드로 응답을 구분하도록 권고 하고 있습니다.

또한 2XX 의 정상적은 Response 외의 비정상적인 응답 메시지는 ErrorStream으로 구분하여 수신할 수 있도록 Android SDK에서 지원하고 있지요. 최근 Firebase Rest API를 보면 이런식으로 되어 있습니다.

대규모의 웹서비스를 지향하신다면 이를 지키는것이 보기에도 깔끔하고 외부에서 접근할 때 진입장벽도 작아질 수 있습니다.

보안이랑 이게 상관 있는지는 저도 잘은 모르겠네요.ㅋ

 

로그인 관련해서 일반적인 보안이라 하면 패스워드는 평문으로 보내지 않고 Hash를 통과해서 보내는 것입니다. 단방향 해시도 아예없는거보다는 낫지만 요새는 bcrypt(? 정확한지는 모르겠으나) 라고 양방향 해시로 해시 통과 시킬때마다 값이 바뀌는것이 있더라구요. 뭐 해시 관련해서 조사하시다보면 많이 나올거에요. 당연히 TLS 통신은 하셔야 하구요.
Development Guy (70,570 포인트) 님이 2017년 2월 1일 답변
빵의경계님이 2017년 2월 1일 채택됨
...