2016-09-06 3 views
0

요청을 받았는데이를 구현할 수있는 안전한 방법을 찾을 수 없습니다. 이 작업을 안전하게 수행 할 수있는 방법을 알고 있다면 알려주십시오.내 도메인의 다른 도메인에있는 사용자 이름과 비밀번호를 채우시겠습니까?

ASP.NET MVC로 www.abcd.com을 개발 중입니다. 클라이언트에는 이미 인증 시스템이있는 xyz.abcd.com 도메인이 있습니다. 그들은 사용자가 www.abcd.com에서 사용자 이름과 암호를 입력 할 수있는 페이지를 만들고, 로그인 버튼을 누르면 xyz.abcd.com/login 페이지를 새 창에서 열고 사용자 이름과 암호를 채 웁니다. 사용자가 내 페이지에 입력 한 내용.

  1. 서버 측에서 수행 할 방법을 찾을 수 없습니다.
  2. 내가 클라이언트 측에서하고 싶다면 "동일 출처 정책"에 어긋나지 만 SSL에 대해 www.abcd.com 및 xyz.abcd.com을 모두 실행하는 것이 안전하다고 생각하지 않습니다. 그런 일을하기에 충분합니다.

보안 솔루션이 있으면 알려 주시기 바랍니다.

답변

0

하위 도메인 응용 프로그램 (xyz.abcd.com)에 대해이를 가능하게 명시 적으로 지원해야한다고 생각합니다. 예를 들어 요청 매개 변수 또는 쿠키로 필드를 채우는 것과 같이 가능합니다 (특히 그렇게하지는 않겠지 만 특히 암호가 아닌 경우).

하위 도메인 응용 프로그램에서이 기능을 지원하지 않는다면 다른 도메인에서는 말할 것도없고 abcd.com에서도 필드를 채울 수 없다고 생각합니다.

비밀번호 입력란을 자동으로 채울 수있는 취약점 (물론 모범 사례에도 해당)은 브라우저 자체에 입력하지 않도록 autocomplete = "off"로 설정해야합니다.

이러한 응용 프로그램의 컨텍스트를 알지 못하면 실제 목표를 달성하기 위해 어떤 종류의 싱글 사인온 (sign-on)이 필요할 것으로 생각됩니다.

+1

답장을 보내 주셔서 감사 드리며 모든 도메인 간 인증에 대해 OAuth 2가 이미 존재합니다. 나는 단지 좋은 해결책이 아니라는 것을 클라이언트에게 확신시켜야합니다. 다시 한번 감사드립니다. –