다음을 통해 공유


HttpSessionState.IsCookieless 속성

정의

세션 ID가 URL에 포함되어 있는지 HTTP 쿠키에 저장되어 있는지 여부를 나타내는 값을 가져옵니다.

public:
 property bool IsCookieless { bool get(); };
public bool IsCookieless { get; }
member this.IsCookieless : bool
Public ReadOnly Property IsCookieless As Boolean

속성 값

세션이 URL에 포함되어 있으면 true이고, 그렇지 않으면 false입니다.

예제

다음 코드 예제에서는 세션 특성을 Web.config 파일에서 true로 설정합니다 cookieless .

<configuration>
  <system.web>
    <sessionState
      mode="InProc"
      cookieless="true"
      regenerateExpiredSessionId="true"
      timeout="30" />
  </system.web>
</configuration>

설명

ASP.NET 각 브라우저에서 세션을 고유하게 식별합니다. 기본적으로 세션의 고유 식별자는 브라우저의 만료되지 않는 세션 쿠키에 저장됩니다. sessionState 구성 요소에서 특성을 true 로 설정 cookieless 하여 세션 식별자를 쿠키에 저장하지 않도록 지정할 수 있습니다.

참고

애플리케이션의 보안을 강화 하려면 애플리케이션 해야 할 수 있습니다. 로그 아웃,이 시점에서 호출 해야 합니다 Abandon 메서드. 이렇게 하면 URL의 고유 식별자를 사용하여 사용자 세션에 저장된 개인 데이터를 검색하는 원치 않는 원본의 가능성이 줄어듭니다.

ASP.NET 페이지의 URL에 고유한 세션 ID를 자동으로 삽입하여 쿠키 없는 세션 상태를 유지 관리합니다. 예를 들어 다음 URL은 ASP.NET 고유한 세션 ID lit3py55t21z5v55vlm25s55를 포함하도록 수정되었습니다.

http://www.example.com/(S(4danlfat035muve4g0mvgfrr))/orderform.aspx

ASP.NET 각 페이지를 브라우저로 보내기 직전에 링크에 세션 ID 값을 포함하여 요청된 모든 페이지에 포함된 링크를 수정합니다. 세션 상태는 사용자가 사이트에서 제공하는 링크의 경로를 따르는 한 유지 관리됩니다. 그러나 사용자 에이전트가 URL을 다시 작성하면 세션 상태 인스턴스가 손실됩니다.

세션 ID는 애플리케이션 이름 뒤에 오는 슬래시와 나머지 모든 파일 또는 가상 디렉터리 식별자 URL에 포함 됩니다. 이렇게 하면 ASP.NET 애플리케이션 이름을 포함 하기 전에 확인 하는 SessionStateModule 요청에서.

기본적으로 쿠키 없는 세션에서 사용되는 세션 식별자는 재활용됩니다. 즉, 만료된 세션 ID를 사용하여 요청을 하면 요청과 함께 제공된 세션 ID를 사용하여 새 세션이 시작됩니다. 이 동작은 쿠키 없는 세션 ID가 포함된 링크가 검색 엔진 또는 다른 프로그램을 통해 여러 브라우저와 공유되는 경우 세션 데이터를 원치 않게 공유할 수 있습니다. 세션 식별자의 재활용을 사용하지 않도록 설정하여 여러 클라이언트에서 세션 데이터를 공유할 가능성을 줄일 수 있습니다. 이렇게 하려면 sessionState 구성 요소true의 특성을 로 설정합니다regenerateExpiredSessionId. 이로 인해 만료된 세션 ID를 사용하여 쿠키 없는 세션 요청이 수행될 때 새 세션 ID가 생성됩니다. 만료된 세션 ID로 이루어진 요청이 HTTP POST 메서드를 사용하는 경우 가 인 경우 게시된 모든 데이터가 손실 regenerateExpiredSessionIdtrue됩니다. ASP.NET 리디렉션을 수행하여 브라우저에 URL에 새 세션 식별자가 있는지 확인합니다.

참고

특성을 true 로 설정 regenerateExpiredSessionId 하면 세션 데이터가 원치 않게 공유되는 가능성을 줄일 수 있지만, 값을 가져와 SessionID 서 서버에 대한 요청에 포함하여 다른 사용자의 세션에 액세스하는 원치 않는 원본으로부터 보호하지는 않습니다. 세션 상태에 개인 정보 또는 중요한 정보를 저장하는 경우 SSL을 사용하여 를 포함하는 SessionID브라우저와 서버 간의 통신을 암호화하는 것이 좋습니다.

적용 대상

추가 정보