programing tip

ASP.NET 세션 쿠키에서 보안 플래그를 설정하는 방법

itbloger 2020. 7. 4. 11:14
반응형

ASP.NET 세션 쿠키에서 보안 플래그를 설정하는 방법


ASP.NET 세션 쿠키에서 보안 플래그를 설정하여 HTTPS를 통해서만 전송되고 일반 HTTP를 통해 전송되지 않도록하려면 어떻게해야합니까?


이 두 가지, 하나 개 httpCookies에서이 요소를 web.config켜 할 수 requireSSL있는 단지 만도 폼 인증 내부 SSL의 세션을 포함하여 모든 쿠키를 전송할 수는 있지만, httpcookies에 SSL을 켜면 내부의 형태도 구성에 당신은 또한 그것을 설정해야합니다.

명확성을 위해 편집하십시오 : 이것을 넣으십시오.<system.web>

<httpCookies requireSSL="true" />

에서 <system.web>요소, 다음과 같은 요소를 추가 :

<httpCookies requireSSL="true" />

그러나 블록에 <forms>요소가 있으면 system.web\authentication의 설정이 재정의 httpCookies되어 기본값으로 다시 설정됩니다 false.

이 경우 requireSSL="true"양식 요소에도 속성을 추가해야합니다 .

따라서 다음과 같이 끝납니다.

<system.web>
    <authentication mode="Forms">
        <forms requireSSL="true">
            <!-- forms content -->
        </forms>
    </authentication>
</system.web>

이러한 요소에 대한 MSDN 설명서는 여기여기참조 하십시오 .


엔터프라이즈 환경에서 체크인 된 코드에 대해 이야기하면 문제가 빨리 발생합니다. 우리는 가장 좋은 방법은 web.Release.config 에 다음을 포함시키는 것입니다.

<system.web>
  <compilation xdt:Transform="RemoveAttributes(debug)" />
  <authentication>
      <forms xdt:Transform="Replace" timeout="20" requireSSL="true" />
  </authentication>
</system.web>

이렇게하면 개발자는 영향을받지 않으며 (디버그에서 실행) 릴리스 빌드를받는 서버 만 쿠키를 SSL로 요구합니다.


secure-이 속성은 요청이 HTTPS와 같은 보안 채널을 통해 전송되는 경우에만 쿠키를 보내도록 브라우저에 지시합니다. 이는 쿠키가 암호화되지 않은 요청을 통과하지 못하도록 보호합니다. HTTP 및 HTTPS를 통해 애플리케이션에 액세스 할 수있는 경우 쿠키를 일반 텍스트로 보낼 수 있습니다.

참고 URL : https://stackoverflow.com/questions/1442863/how-can-i-set-the-secure-flag-on-an-asp-net-session-cookie

반응형