HttpSessionState.IsCookieless HttpSessionState.IsCookieless HttpSessionState.IsCookieless HttpSessionState.IsCookieless Property

Definición

Obtiene un valor que indica si el identificador de la sesión está incrustado en la dirección URL o se almacena en una cookie 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

Valor de propiedad

Es true si la sesión está incrustada en la dirección URL; en caso contrario, es false.true if the session is embedded in the URL; otherwise, false.

Ejemplos

En el ejemplo de código siguiente cookieless se establece el atributo de sesión en true en el archivo Web. config.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>  

Comentarios

ASP.NET identifica las sesiones de forma única con cada explorador.ASP.NET identifies sessions uniquely with each browser. De forma predeterminada, el identificador único de una sesión se almacena en una cookie de sesión que no expira en el explorador.By default, the unique identifier for a session is stored in a non-expiring session cookie in the browser. Puede especificar que los identificadores de sesión no se almacenen en una cookie estableciendo cookieless el true atributo en en el elemento de configuración sessionState .You can specify that session identifiers not be stored in a cookie by setting the cookieless attribute to true in the sessionState configuration element.

Nota

Para mejorar la seguridad de la aplicación, la aplicación debe permitir que los usuarios cierren sesión, momento en el que debe Abandon llamar al método.To improve the security of your application, your application should allow users to log out, at which point it should call the Abandon method. Esto reduce la posibilidad de que un origen no deseado use el identificador único de la dirección URL para recuperar los datos privados almacenados en la sesión de un usuario.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 mantiene el estado de sesión sin cookies mediante la inserción automática de un identificador de sesión único en la dirección URL de la página.ASP.NET maintains cookieless session state by automatically inserting a unique session ID into the page's URL. Por ejemplo, ASP.NET ha modificado la siguiente dirección URL para incluir el identificador de sesión único lit3py55t21z5v55vlm25s55: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 modifica los vínculos contenidos en todas las páginas solicitadas mediante la inserción de un valor de ID. de sesión en los vínculos justo antes de enviar cada página al explorador.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. El estado de la sesión se mantiene siempre que el usuario sigue la ruta de acceso de los vínculos que proporciona el sitio.Session state is maintained as long as the user follows the path of links that the site provides. Sin embargo, si el agente de usuario vuelve a escribir una dirección URL, se perderá la instancia de estado de sesión.However, if the user agent rewrites a URL, the session-state instance will be lost.

El identificador de sesión se inserta en la dirección URL después de la barra diagonal que sigue al nombre de la aplicación y antes de cualquier archivo o identificador de directorio virtual restante.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. Esto permite a ASP.net resolver el nombre SessionStateModule de la aplicación antes de que intervenga en la solicitud.This allows ASP.NET to resolve the application name before involving the SessionStateModule in the request.

De forma predeterminada, se reciclan los identificadores de sesión utilizados en sesiones sin cookies.By default, session identifiers used in cookieless sessions are recycled. Es decir, si se realiza una solicitud con un identificador de sesión que ha expirado, se inicia una nueva sesión con el identificador de sesión proporcionado con la solicitud.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. Este comportamiento puede provocar el uso compartido no deseado de los datos de la sesión cuando un vínculo que contiene un identificador de sesión sin cookies se comparte con varios exploradores, quizás a través de un motor de búsqueda u otro programa.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. Puede reducir la posibilidad de que varios clientes compartan los datos de la sesión deshabilitando el reciclaje de los identificadores de sesión.You can reduce the possibility of session data being shared by multiple clients by disabling the recycling of session identifiers. Para ello, establezca el regenerateExpiredSessionId atributo del elemento de configuración sessionState en. trueTo do this, set the regenerateExpiredSessionId attribute of the sessionState configuration element to true. Esto hará que se genere un nuevo ID. de sesión cuando se realice una solicitud de sesión sin cookies con un ID. de sesión expirado.This will result in a new session ID being generated when a cookieless session request is made with an expired session ID. Tenga en cuenta que si la solicitud realizada con el identificador de sesión expirado POST usa el método http, se perderán todos los regenerateExpiredSessionId datos trueexpuestos cuando sea, ya que ASP.NET realiza una redirección para asegurarse de que el explorador tiene el nuevo identificador de sesión en la dirección 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.

Nota

Al establecer el regenerateExpiredSessionId atributo para true reducir la posibilidad de uso compartido no deseado de los datos de la sesión, no protege frente a un origen no deseado que obtiene acceso a la sesión de otro usuario obteniendo el SessionID valor y lo incluye en las solicitudes al servidor.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. Si almacena información privada o confidencial en el estado de sesión, se recomienda usar SSL para cifrar cualquier comunicación entre el explorador y el servidor que incluye el 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.

Se aplica a

Consulte también: