HttpSessionState.IsCookieless Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob die Sitzungs-ID in der URL eingebettet oder in einem HTTP-Cookie gespeichert ist.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

Eigenschaftswert

true, wenn die Sitzung in der URL eingebettet ist, andernfalls false.true if the session is embedded in the URL; otherwise, false.

Beispiele

Im folgenden Codebeispiel wird das cookieless Session-Attribut in der Datei "Web. config" auf "true" festgelegt.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>  

Hinweise

ASP.net identifiziert Sitzungen, die in jedem Browser eindeutig sind.ASP.NET identifies sessions uniquely with each browser. Standardmäßig wird der eindeutige Bezeichner für eine Sitzung in einem nicht ablaufenden Sitzungs Cookie im Browser gespeichert.By default, the unique identifier for a session is stored in a non-expiring session cookie in the browser. Sie können angeben, dass Sitzungs Bezeichner nicht in einem Cookie gespeichert werden, indem cookieless Sie das true -Attribut im sessionState -Konfigurationselement auf festlegen.You can specify that session identifiers not be stored in a cookie by setting the cookieless attribute to true in the sessionState configuration element.

Hinweis

Um die Sicherheit Ihrer Anwendung zu verbessern, sollte Ihre Anwendung es Benutzern ermöglichen, sich abzumelden. an diesem Punkt sollte Abandon die-Methode aufgerufen werden.To improve the security of your application, your application should allow users to log out, at which point it should call the Abandon method. Dadurch wird das Potenzial einer unerwünschten Quelle, die den eindeutigen Bezeichner in der URL verwendet, zum Abrufen privater Daten, die in der Sitzung für einen Benutzer gespeichert sind, verringert.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 verwaltet den Sitzungszustand ohne Cookies, indem automatisch eine eindeutige Sitzungs-ID in die URL der Seite eingefügt wird.ASP.NET maintains cookieless session state by automatically inserting a unique session ID into the page's URL. Beispielsweise wurde die folgende URL von ASP.net geändert, um die eindeutige Sitzungs-ID lit3py55t21z5v55vlm25s55 einzuschließen: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 ändert die Links, die auf allen angeforderten Seiten enthalten sind, indem Sie einen Sitzungs-ID-Wert in den Links vor dem Senden jeder Seite an den Browser einbettet.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. Der Sitzungszustand wird beibehalten, solange der Benutzer den Pfad der Links befolgt, die die Website bereitstellt.Session state is maintained as long as the user follows the path of links that the site provides. Wenn der Benutzer-Agent jedoch eine URL umschreibt, geht die Sitzungs Zustands Instanz verloren.However, if the user agent rewrites a URL, the session-state instance will be lost.

Die Sitzungs-ID wird nach dem Schrägstrich, der dem Anwendungsnamen und vor allen verbleibenden Dateien oder virtuellen Verzeichnis Bezeichnern folgt, in die URL eingebettet.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. Dadurch kann ASP.NET den Anwendungsnamen auflösen, bevor der SessionStateModule in der Anforderung einbezogen wird.This allows ASP.NET to resolve the application name before involving the SessionStateModule in the request.

Standardmäßig werden Sitzungs-IDs, die in Sitzungen ohne Cookies verwendet werden, wieder verwendet.By default, session identifiers used in cookieless sessions are recycled. Das heißt, wenn eine Anforderung mit einer Sitzungs-ID erfolgt, die abgelaufen ist, wird eine neue Sitzung mit der mit der Anforderung angegebenen Sitzungs-ID gestartet.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. Dieses Verhalten kann zur unerwünschten Freigabe von Sitzungsdaten führen, wenn ein Link, der eine cookilose Sitzungs-ID enthält, von mehreren Browsern gemeinsam genutzt wird, vielleicht über eine Suchmaschine oder ein anderes Programm.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. Sie können die Möglichkeit verringern, dass Sitzungsdaten von mehreren Clients gemeinsam genutzt werden, indem Sie die Wiederverwendung von Sitzungs bezeichatoren deaktivieren.You can reduce the possibility of session data being shared by multiple clients by disabling the recycling of session identifiers. Legen Sie hierzu das regenerateExpiredSessionId -Attribut des sessionState -Konfigurations Elements auf truefest.To do this, set the regenerateExpiredSessionId attribute of the sessionState configuration element to true. Dies führt dazu, dass eine neue Sitzungs-ID generiert wird, wenn eine cookielose Sitzungs Anforderung mit einer abgelaufenen Sitzungs-ID erfolgt.This will result in a new session ID being generated when a cookieless session request is made with an expired session ID. Beachten Sie Folgendes: Wenn die Anforderung mit der abgelaufenen Sitzungs-ID die POST HTTP-Methode verwendet, gehen alle übermittelten Daten regenerateExpiredSessionId verloren true, wenn ist, da ASP.net eine Umleitung ausführt, um sicherzustellen, dass der Browser den neuen Sitzungs Bezeichner in der URL aufweist.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.

Hinweis

Beim Festlegen des regenerateExpiredSessionId -Attributs auf true wird die Wahrscheinlichkeit einer unerwünschten Freigabe von Sitzungsdaten verringert. es schützt nicht vor einer unerwünschten Quelle, die Zugriff auf die Sitzung eines anderen Benutzers SessionID erhält, indem er den Wert erhält. einschließen in Anforderungen an den Server.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. Wenn Sie private oder vertrauliche Informationen im Sitzungszustand speichern, empfiehlt es sich, die Kommunikation zwischen dem Browser und dem Server, der den SessionIDenthält, mit SSL zu verschlüsseln.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.

Gilt für:

Siehe auch