2012-10-09 1 views
2

나는 webapp를위한 RESTful API를 만들고있다.put 또는 delete (vs post)를 사용하여 로그인 자격 증명을 보내는 것이 안전합니까?

일부 모바일 브라우저는 사용자가 브라우저를 종료 한 후 클라이언트 측 쿠키를 제거하기 때문에 local.storage를 사용하여 사용자의 키를 저장하고 API를 통해 사용자를 인증 할 수 있습니다.

키가 길고 자주 변경되며 모든 통신이 https를 통해 이루어지면 put 또는 delete를 사용하여 키를 보내는 것이 안전합니까? 필자는 get을 사용하면 악의적 인 사용자가 사용자의 계정에 액세스하는 데 사용할 수있는 브라우저 기록에 키가 남을 수 있다는 것을 이해합니다. 대조적으로 포스트는 훨씬 안전합니다. 어때?

답변

1

가능하면 HTTP 헤더를 통해 키를 보냅니다. 당신이 GET을 사용하고있는 경우 setRequestHeader()

0

다음 절대적으로 매개 변수로 전송 키가 있습니다 : 당신이 사용하는 방법은 중요하지 않는 방법도

참조 등, POST가, PUT, 그것은 GET 수 위험한. 브라우저는 키가 기록에서 사용 가능함을 의미하는 URL을 캐시합니다. 나는 약간의 안전을 위해 머리말에 그들을 붙일 것이다.

도전적 응답 인증 패턴 (또는이 패턴의 여러 변형)을 사용할 수 있지만 실제로 보안에 관심이있는 경우. 어쨌든 핵심 변경 사항을 자주 언급 했으므로 어느 정도 올바른 방향으로 가고있는 것 같습니다. 진짜 질문은 고객의 첫 번째 인스턴스에서 어떻게 그 열쇠를 잡는 것입니까? (안전합니까?) ...

관련 문제