HttpSessionState.IsCookieless Vlastnost

Definice

Získá hodnotu určující, zda je ID relace vloženo do adresy URL nebo uložen v souboru cookie HTTP.

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

Hodnota vlastnosti

truepokud je relace vložena do adresy URL; v opačném případě . false

Příklady

Následující příklad kódu nastaví cookieless atribut relace na true v souboru Web.config.

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

Poznámky

ASP.NET jednoznačně identifikuje relace v každém prohlížeči. Ve výchozím nastavení je jedinečný identifikátor relace uložen v souboru cookie relace bez vypršení platnosti v prohlížeči. Identifikátory relace nelze uložit do souboru cookie nastavením cookieless atributu true v elementu konfigurace sessionState .

Note

Aby se zlepšilo zabezpečení vaší aplikace, měla by aplikace umožnit uživatelům odhlásit se, v jakém okamžiku by měla metodu Abandon volat. To snižuje potenciál nežádoucího zdroje pomocí jedinečného identifikátoru v adrese URL k načtení privátních dat uložených v relaci pro uživatele.

ASP.NET udržuje stav relace bez souborů cookie tak, že automaticky vloží jedinečné ID relace do adresy URL stránky. Například následující adresa URL byla upravena ASP.NET tak, aby obsahovala jedinečné ID relace lit3py55t21z5v55vlm25s55:

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

ASP.NET upraví odkazy obsažené na všech požadovaných stránkách vložením hodnoty ID relace do odkazů těsně před odesláním každé stránky do prohlížeče. Stav relace se udržuje, dokud uživatel sleduje cestu odkazů, které web poskytuje. Pokud však uživatelský agent přepíše adresu URL, instance stavu relace bude ztracena.

ID relace je vloženo do adresy URL za lomítkem, které následuje za názvem aplikace a před libovolný zbývající soubor nebo identifikátor virtuálního adresáře. To umožňuje ASP.NET přeložit název aplikace před zapojením SessionStateModule v požadavku.

Ve výchozím nastavení se identifikátory relací používané v relacích bez souborů cookie recyklují. To znamená, že pokud je požadavek proveden s ID relace, jehož platnost vypršela, spustí se nová relace pomocí ID relace zadaného s požadavkem. Toto chování může vést k nežádoucímu sdílení dat relace, pokud je odkaz obsahující ID relace bez souborů cookie sdílen s více prohlížeči, například prostřednictvím vyhledávacího webu nebo jiného programu. Můžete snížit možnost sdílení dat relací více klienty zakázáním recyklace identifikátorů relací. Chcete-li to provést, nastavte regenerateExpiredSessionId atribut sessionState configuration element na true. Výsledkem bude vygenerování nového ID relace, když se vytvoří požadavek na relaci bez souborů cookie s ID relace s vypršenou platností. Všimněte si, že pokud požadavek vytvořený s ID relace, jehož platnost vypršela, používá metodu HTTP POST, dojde při regenerateExpiredSessionIdtrue, protože ASP.NET provede přesměrování, aby se zajistilo, že prohlížeč má v adrese URL nový identifikátor relace.

Note

Když nastavíte regenerateExpiredSessionId atribut tak, aby true se snížila možnost nežádoucího sdílení dat relace, nechrání se před nežádoucím zdrojem získáním přístupu k relaci jiného uživatele získáním SessionID hodnoty a zahrnutím do požadavků na server. Pokud ukládáte soukromé nebo citlivé informace ve stavu relace, doporučujeme použít protokol SSL k šifrování veškeré komunikace mezi prohlížečem a serverem, který obsahuje SessionID.

Platí pro

Viz také