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

속성 값

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 구성 요소에 특성을 설정 cookieless 하여 세션 식별자를 쿠키에 저장하지 않도록 true 지정할 수 있습니다.

참고

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

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

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 메서드를 사용하는 경우 ASP.NET 브라우저에 URL에 새 세션 식별자가 있는지 확인하기 위해 리디렉션을 수행하므로 게시된 데이터가 손실됩니다 regenerateExpiredSessionId true.

참고

세션 데이터의 원치 않는 공유 가능성을 줄이기 위해 true 특성을 설정 regenerateExpiredSessionId 하는 동안 값을 가져오 SessionID 고 서버에 대 한 요청에 포함 하 여 다른 사용자의 세션에 대 한 액세스 권한을 얻는 원치 않는 소스로부터 보호 하지 않습니다. 세션 상태에 개인 또는 중요한 정보를 저장하는 경우 SSL을 사용하여 브라우저와 서버를 포함하는 SessionID모든 통신을 암호화하는 것이 좋습니다.

적용 대상

추가 정보