HttpSessionState.IsCookieless Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Beolvas egy értéket, amely jelzi, hogy a munkamenet-azonosító beágyazva van-e az URL-címbe, vagy EGY HTTP-cookie-ban van-e tárolva.
public:
property bool IsCookieless { bool get(); };
public bool IsCookieless { get; }
member this.IsCookieless : bool
Public ReadOnly Property IsCookieless As Boolean
Tulajdonság értéke
trueha a munkamenet beágyazva van az URL-címbe; egyéb esetben. false
Példák
Az alábbi példakód a cookieless munkamenet-attribútumot igaz értékre állítja a Web.config fájlban.
<configuration>
<system.web>
<sessionState
mode="InProc"
cookieless="true"
regenerateExpiredSessionId="true"
timeout="30" />
</system.web>
</configuration>
Megjegyzések
ASP.NET minden böngészőben egyedileg azonosítja a munkameneteket. Alapértelmezés szerint egy munkamenet egyedi azonosítója egy nem lejáró munkamenet cookie-jában van tárolva a böngészőben. Megadhatja, hogy a munkamenet-azonosítók ne legyenek cookie-ban tárolva, ha az cookieless attribútumot true a sessionState konfigurációs elemben állítja be.
Note
Az alkalmazás biztonságának javítása érdekében az alkalmazásnak engedélyeznie kell a felhasználók kijelentkezését, és ekkor kell meghívnia a metódust Abandon . Ez csökkenti annak lehetőségét, hogy a nem kívánt forrás az URL-cím egyedi azonosítóját használva lekérje a munkamenetben tárolt személyes adatokat a felhasználó számára.
ASP.NET a cookie nélküli munkamenet állapotát úgy tartja fenn, hogy automatikusan beszúr egy egyedi munkamenet-azonosítót a lap URL-címébe. Például a következő URL-címet módosította ASP.NET, hogy tartalmazza a lit3py55t21z5v55vlm25s55 egyedi munkamenet-azonosítót:
http://www.example.com/(S(4danlfat035muve4g0mvgfrr))/orderform.aspx
ASP.NET módosítja az összes kért oldalon található hivatkozásokat úgy, hogy az egyes oldalak böngészőbe való elküldése előtt beágyaz egy munkamenet-azonosító értéket a hivatkozásokba. A munkamenet állapota mindaddig megmarad, amíg a felhasználó a webhely által biztosított hivatkozások elérési útját követi. Ha azonban a felhasználói ügynök átír egy URL-címet, a munkamenet-állapot példánya elveszik.
A munkamenet-azonosító az alkalmazás nevét követő perjel után és a fennmaradó fájl- vagy virtuáliskönyvtár-azonosítók előtt van beágyazva az URL-címbe. Ez lehetővé teszi ASP.NET az alkalmazás nevének feloldását, mielőtt bevonja a SessionStateModule a kérelembe.
Alapértelmezés szerint a cookie nélküli munkamenetekben használt munkamenet-azonosítók újra lesznek használva. Vagyis ha egy kérés lejárt munkamenet-azonosítóval történik, a rendszer egy új munkamenetet indít el a kérelemhez megadott munkamenet-azonosító használatával. Ez a viselkedés a munkamenet-adatok nemkívánatos megosztását eredményezheti, ha egy cookie nélküli munkamenet-azonosítót tartalmazó hivatkozást több böngészővel osztanak meg, például keresőmotoron vagy más programon keresztül. A munkamenet-azonosítók újrahasznosításának letiltásával csökkentheti a munkamenet-adatok több ügyfél általi megosztásának lehetőségét. Ehhez állítsa a regenerateExpiredSessionIdsessionState konfigurációs elem attribútumát a következőre true: . Ez egy új munkamenet-azonosító generálásához vezet, ha egy cookie nélküli munkamenet-kérés lejárt munkamenet-azonosítóval történik. Vegye figyelembe, hogy ha a lejárt munkamenet-azonosítóval küldött kérés a HTTP POST metódust használja, akkor a közzétett adatok elvesznek, ha regenerateExpiredSessionIdtrue, mivel ASP.NET átirányítást hajt végre annak biztosítása érdekében, hogy a böngésző új munkamenet-azonosítóval rendelkezzen az URL-címben.
Note
Miközben az attribútumot úgy regenerateExpiredSessionId állítja be, hogy true csökkentse a munkamenet-adatok nem kívánt megosztásának lehetőségét, nem véd meg egy nemkívánatos forrást, amely hozzáférést szerez egy másik felhasználó munkamenetéhez az SessionID érték beolvasásával és a kiszolgálóra irányuló kérelmekbe való beleszámításával. Ha privát vagy bizalmas adatokat tárol munkamenet-állapotban, javasoljuk, hogy SSL használatával titkosítsa a böngésző és a kiszolgáló közötti kommunikációt, amely tartalmazza a SessionID.