2009-11-06 2 views
3

참고 :이 것은 [RequireSSL] 속성과 관련된 ASP.NET MVC 질문이 아닙니다. 그게 완전히 다른데 - 그냥 같은 이름입니다.FormsAuthentication의 requireSSL 속성의 기본값이 false 인 이유는 무엇입니까?


ASP.NET 폼 인증은 ASP.NET 멤버에 대한 인증 쿠키는 오직 SSL을 통해 전송되는 것을 필요로하는 RequireSSL 속성이 있습니다. 이것은 누군가가 (네트워크 스니핑과 같은) 쿠키를 훔치거나 사용자를 가장하는 것을 방지하기위한 것입니다. 모든 보안 의식이 변화 MS는 왜 requireSSLtrue에 기본값으로하지 않습니다 (예 : httpOnly cookies 기본을 만들기로) 만든 함께 -

그래서 궁금하네요?

쿠키 스니핑은 '과실 허용'보안 위험으로 간주됩니까?

실제로 연결을 통해 보안/개인 데이터에 액세스 할 수 없다면 허용하지 않는 것이 위험입니까? 받아 들일 수없는 경우 - http로 사용자를 돌려 보내고 그들이 누구인지 아직도 알 수 있습니까?

당신이 SSL을 사용하는지 확인, 폼 인증에게 네트워크를 횡단하면서 변조 캡처되는 쿠키와 을 방지하기 위해서 SSL 채널 에 인증 티켓을 액세스 인증 및 양식을 제한 할 필요 모든 페이지 요소에서 requireSSL = "true"로 설정하십시오. 다음 코드와 같이

는 요소, 에 SSL 채널에 폼 인증을

세트가 requireSSL = "true"로 쿠키를 제한합니다. 설정하면

이가 requireSSL는 = "true"로, 당신은 이 브라우저 다시 서버에 쿠키를 전송할지 여부를 결정 보안 쿠키 속성을 설정합니다. 보안 속성이 설정된 경우 HTTPS URL을 사용하여 요청 된 보안 페이지 인 에만 브라우저에서 쿠키가 전송됩니다.

참고 : 쿠키 세션을 사용하는 경우, 당신은 인증 티켓이 보안되지 않은 채널을 통해 전송 결코 없음을 확인해야합니다.

+0

웹 사이트가 기본적으로 SSL이 아니기 때문에 그럴 것이라고 생각합니다. 이 작업을하려면 SSL 인증서가 필요합니다. – Greg

답변

2

SSL 인증서가 필요하므로 일반적으로 인증서를 취득하는 데 비용이 들기 때문에 SSL 인증서가 필요합니다. 또한 브라우저 세션을 사용하여 안전하지 않은 정보를 제어 할 수 있습니다. 또한 일부 공개 웹 사이트에서는 원하는 모든 기능을 수행 할 수 있습니다. 이 경우 다른 사람의 세션 쿠키를 훔치는 사람이 민감한 것을 공개하지 않습니다. 그러면 SSL 인증서를 구입하고 설치하는 데 드는 비용이 왜 들지 요?