HttpSessionState.IsCookieless 속성

정의

세션 ID가 URL에 포함되어 있는지 HTTP 쿠키에 저장되어 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the session ID is embedded in the URL or stored in an HTTP cookie.

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

속성 값

세션이 URL에 포함되어 있으면 true이고, 그렇지 않으면 false입니다.true if the session is embedded in the URL; otherwise, false.

예제

다음 코드 예제에서는 cookieless 세션 특성을 Web.config 파일에 true로 합니다.The following code example sets the cookieless session attribute to true in the Web.config file.

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

설명

ASP.NET 각 브라우저를 사용 하 여 세션을 고유 하 게 식별합니다.ASP.NET identifies sessions uniquely with each browser. 기본적으로 세션에 대 한 고유 식별자는 브라우저에서 만료 되지 않는 세션 쿠키에 저장 됩니다.By default, the unique identifier for a session is stored in a non-expiring session cookie in the browser. cookieless SessionState 구성 요소의 특성을로 true 설정 하 여 세션 식별자가 쿠키에 저장 되지 않도록 지정할 수 있습니다.You can specify that session identifiers not be stored in a cookie by setting the cookieless attribute to true in the sessionState configuration element.

참고

애플리케이션의 보안을 강화 하려면 애플리케이션 해야 할 수 있습니다. 로그 아웃,이 시점에서 호출 해야 합니다 Abandon 메서드.To improve the security of your application, your application should allow users to log out, at which point it should call the Abandon method. 이 URL에 고유 식별자를 사용 하 여 사용자에 대 한 세션에 저장 된 개인 데이터를 검색 하는 원치 않는 원본에 대 한 가능성을 줄입니다.This reduces the potential for an unwanted source using the unique identifier in the URL to retrieve private data stored in the session for a user.

ASP.NET은 페이지의 URL에 고유한 세션 ID를 자동으로 삽입 하 여 쿠키 없는 세션 상태를 유지 합니다.ASP.NET maintains cookieless session state by automatically inserting a unique session ID into the page's URL. 예를 들어 다음 URL은 고유한 세션 ID lit3py55t21z5v55vlm25s55 포함 하기 위해 ASP.NET에서 수정 되었습니다.For example, the following URL has been modified by ASP.NET to include the unique session ID lit3py55t21z5v55vlm25s55:

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

ASP.NET에는 각 페이지를 브라우저 보내기 직전 링크에서 세션 ID 값을 포함 하 여 모든 요청 된 페이지에 포함 된 링크를 수정 합니다.ASP.NET modifies the links contained in all requested pages by embedding a session-ID value in the links just before sending each page to the browser. 사이트를 제공 하는 링크의 경로 따라 하는 사용자와 세션 상태가 유지 됩니다.Session state is maintained as long as the user follows the path of links that the site provides. 그러나 사용자 에이전트에는 URL 다시 작성을 하는 경우 세션 상태 인스턴스의 손실 됩니다.However, if the user agent rewrites a URL, the session-state instance will be lost.

세션 ID는 애플리케이션 이름 뒤에 오는 슬래시와 나머지 모든 파일 또는 가상 디렉터리 식별자 URL에 포함 됩니다.The session ID is embedded in the URL after the slash that follows the application name and before any remaining file or virtual-directory identifier. 이렇게 하면 ASP.NET 애플리케이션 이름을 포함 하기 전에 확인 하는 SessionStateModule 요청에서.This allows ASP.NET to resolve the application name before involving the SessionStateModule in the request.

기본적으로 세션 식별자 쿠키 없는 세션에 사용 되는 재생 됩니다.By default, session identifiers used in cookieless sessions are recycled. 즉, 한 요청이 만료 된 세션 ID를 사용 하 여 요청과 함께 제공 되는 세션 ID를 사용 하 여 새 세션을 시작 됩니다.That is, if a request is made with a session ID that has expired, a new session is started using the session ID supplied with the request. 이 동작은 원치 않는 데이터를 공유 세션 검색 엔진 또는 기타 프로그램을 통해 아마도 여러 브라우저에서 쿠키 없는 세션 ID를 포함 하는 링크를 공유 될 수 있습니다.This behavior can result in the unwanted sharing of session data when a link that contains a cookieless session ID is shared with multiple browsers, perhaps through a search engine or other program. 세션 식별자의 재활용을 사용 하지 않도록 설정 하 여 여러 클라이언트에서 공유 되는 세션 데이터의 가능성을 줄일 수 있습니다.You can reduce the possibility of session data being shared by multiple clients by disabling the recycling of session identifiers. 이렇게 하려면 regenerateExpiredSessionId sessionState 구성 요소의 특성을로 true설정 합니다.To do this, set the regenerateExpiredSessionId attribute of the sessionState configuration element to true. 그러면 만료 된 세션 ID를 사용 하 여 쿠키 없는 세션 요청이 만들어질 때 생성 되는 새 세션 IDThis will result in a new session ID being generated when a cookieless session request is made with an expired session ID. 만료 된 세션 ID를 사용 하 여 수행 된 요청의 HTTP를 사용 하는 경우 사용자에 게 유의 POST 메서드를 다음 게시 된 모든 데이터를 잃게 됩니다 regenerateExpiredSessionIdtrue처럼 ASP.NET 브라우저에 URL에서 새 세션 식별자를 확인 하는 리디렉션을 수행 합니다.Note that if the request made with the expired session ID uses the HTTP POST method, then any posted data will be lost when regenerateExpiredSessionId is true, as ASP.NET performs a redirect to ensure that the browser has the new session identifier in the URL.

참고

설정 하는 동안 합니다 regenerateExpiredSessionId 특성을 true 가능성을 줄입니다 원치 않는 공유 세션 데이터를 확보 하 여 다른 사용자의 세션에 엑세스 원치 않는 원본에 대해 보호 하지 않습니다는 SessionID 값 및 서버에 대 한 요청에 포함 합니다.While setting the regenerateExpiredSessionId attribute to true reduces the possibility of unwanted sharing of session data, it does not protect against an unwanted source gaining access to the session of another user by obtaining the SessionID value and including it in requests to the server. 세션 상태의 개인 정보나 중요 한 정보를 저장 하는 것이 좋습니다 SSL을 사용 하 여 브라우저와 포함 하는 서버 간의 모든 통신을 암호화 하는 SessionID합니다.If you are storing private or sensitive information in session state, it is recommended that you use SSL to encrypt any communication between the browser and server that includes the SessionID.

적용 대상

추가 정보