일반 보안 문제의 관심사가 아니었다. 내가 생각했던
주요 관심사였다 :
그것은 후보 토큰을 제시 돌아오고 내 애플 페이스 북으로 전송 같은 브라우저가 있는지 여부
- ?
- 에이전트 (브라우저와 유사한 에이전트) 또는 에이전트가 반복적으로 OAuth 요청을 수행하고 잘못된 OAuth 토큰을 제공하는지 여부로 인해 내 앱이 Facebook에 반복적으로 연락하여 불량 토큰으로 인해 Facebook에 잠재적으로 불리한 취급을 초래할 수 있습니다.
첫 번째 문제에 대한 유일한 해결책은 state
을 사용하는 것 외에도 쿠키를 설정하는 것입니다. referer
은 대부분의 제공 업체가 https를 사용하지 않는 경우 도움이됩니다.
두 번째 문제점에는 뉘앙스가 있습니다. 잘못 행동하는 에이전트는 악의적 인 엔티티에 의해 직접 제어 될 필요는 없습니다. 간접적 인 수단 (인기있는 도용 웹 사이트, 사회 공학)을 통해 리디렉션되는 일반 사용자 브라우저 일 수 있습니다.
뉘앙스 때문에 referer
헤더가 위조되지 않을 가능성이 있습니다. 그러나 https는 의미있는 이점을 배제합니다.
POST에서 쿠키를 설정하면 제 3 자 웹 사이트가 쿠키를 설정하지 못하게되어 사용자를 엄청나게 리디렉션하는 해킹 된 웹 사이트로 인해 잘못된 OAuth 응답으로 넘칠 수 없으므로 쿠키가 두 번째 경우에도 도움이됩니다. 너 OAuth.
이것은 명확한 대답 (또는 질문)이 아니지만이 질문 뒤에 뉘앙스가 표시되기를 바랍니다.
'HTTP Referer'와 같은 헤더는 easly simulate 일 수 있습니다. 사용자는 모든 헤더를 보낼 수 있습니다. – safarov
나는 IP 주소가 사용자의 주소가 아닐 것이라는 것을 당신이 요청한 소스 – safarov
을 확인하기 위해 IP 주소를 확인할 수 있다고 생각한다. – necromancer