HttpSessionState.IsCookieless Özellik

Tanım

Oturum kimliğinin URL'ye eklendiğini veya HTTP tanımlama bilgisinde depolandığını belirten bir değer alır.

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

Özellik Değeri

true oturum URL'ye eklenmişse; aksi takdirde , false.

Örnekler

Aşağıdaki kod örneği, Web.config dosyasında oturum özniteliğini true olarak ayarlar cookieless .

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

Açıklamalar

ASP.NET, oturumları her tarayıcıyla benzersiz olarak tanımlar. Varsayılan olarak, bir oturumun benzersiz tanımlayıcısı tarayıcıda süresi dolmayan bir oturum tanımlama bilgisinde depolanır. özniteliğini truesessionState yapılandırma öğesinde olarak ayarlayarak cookieless oturum tanımlayıcılarının tanımlama bilgisinde depolanmayacaklarını belirtebilirsiniz.

Note

Uygulamanızın güvenliğini artırmak için uygulamanız kullanıcıların oturumu kapatmasına izin vermelidir ve bu noktada yöntemini çağırması Abandon gerekir. Bu, kullanıcının oturumunda depolanan özel verileri almak için URL'deki benzersiz tanımlayıcıyı kullanarak istenmeyen kaynak olasılığını azaltır.

ASP.NET, sayfanın URL'sine otomatik olarak benzersiz bir oturum kimliği ekleyerek tanımlama bilgisi olmayan oturum durumunu korur. Örneğin, aşağıdaki URL ASP.NET tarafından lit3py55t21z5v55vlm25s55 benzersiz oturum kimliğini içerecek şekilde değiştirilmiştir:

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

ASP.NET, her sayfayı tarayıcıya göndermeden hemen önce bağlantılara bir oturum kimliği değeri ekleyerek tüm istenen sayfalarda yer alan bağlantıları değiştirir. Oturum durumu, kullanıcı sitenin sağladığı bağlantıların yolunu izlediği sürece korunur. Ancak, kullanıcı aracısı bir URL'yi yeniden yazarsa oturum durumu örneği kaybolur.

Oturum kimliği, uygulama adını izleyen eğik çizgiden sonra ve kalan herhangi bir dosya veya sanal dizin tanımlayıcısının önüne URL'ye eklenir. Bu, ASP.NET istekte SessionStateModule eklemeden önce uygulama adını çözümlemesine olanak tanır.

Varsayılan olarak, tanımlama bilgisi olmayan oturumlarda kullanılan oturum tanımlayıcıları geri dönüştürülür. Yani süresi dolmuş bir oturum kimliğiyle istek yapılırsa, istekle birlikte sağlanan oturum kimliği kullanılarak yeni bir oturum başlatılır. Bu davranış, tanımlama bilgisi olmayan oturum kimliği içeren bir bağlantı birden çok tarayıcıyla (belki de bir arama altyapısı veya başka bir program aracılığıyla) paylaşıldığında oturum verilerinin istenmeyen paylaşılmasıyla sonuçlanabilir. Oturum tanımlayıcılarının geri dönüştürülmesini devre dışı bırakarak oturum verilerinin birden çok istemci tarafından paylaşılma olasılığını azaltabilirsiniz. Bunu yapmak için sessionState yapılandırma öğesinin özniteliğini olarak trueayarlayınregenerateExpiredSessionId. Bu, süresi dolan bir oturum kimliğiyle tanımlama bilgisi olmayan bir oturum isteği yapıldığında yeni bir oturum kimliği oluşturulmasına neden olur. Süresi dolan oturum kimliğiyle yapılan istek HTTP POST yöntemini kullanıyorsa, regenerateExpiredSessionIdtrue olduğunda, ASP.NET tarayıcının URL'de yeni oturum tanımlayıcısına sahip olduğundan emin olmak için bir yeniden yönlendirme gerçekleştirdiğinden, gönderilen tüm verilerin kaybolacağını unutmayın.

Note

özniteliğini regenerateExpiredSessionId oturum verilerinin istenmeyen paylaşımı olasılığını azaltacak true şekilde ayarlarken, değeri alıp SessionID sunucuya yönelik isteklere ekleyerek başka bir kullanıcının oturumuna erişim elde eden istenmeyen bir kaynağa karşı koruma sağlamaz. Özel veya hassas bilgileri oturum durumunda depoluyorsanız, tarayıcı ile içeren sunucu SessionIDarasındaki iletişimi şifrelemek için SSL kullanmanız önerilir.

Şunlara uygulanır

Ayrıca bkz.