Aracılığıyla paylaş


HttpSessionState.IsCookieless Özellik

Tanım

Oturum kimliğinin URL'ye eklendiğini veya BIR 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. sessionState yapılandırma öğesinde özniteliğini true olarak ayarlayarak cookielessoturum tanımlayıcılarının tanımlama bilgisinde depolanmayacaklarını belirtebilirsiniz.

Not

Uygulamanızın güvenliğini artırmak için uygulamanızın kullanıcıların oturumu kapatmasına izin vermesi 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 isteği dahil etmeden önce uygulama adını çözümlemesine SessionStateModule 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ı bir arama altyapısı veya başka bir program aracılığıyla birden çok tarayıcı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, 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 regenerateExpiredSessionIdtrue, gönderilen tüm verilerin olduğunda kaybolacağını unutmayın.

Not

özniteliğini regenerateExpiredSessionId oturum verilerinin istenmeyen paylaşımı olasılığını azaltacak true şekilde ayarlarken, değeri alıp SessionID sunucuya gönderilen 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 tüm iletişimi şifrelemek için SSL kullanmanız önerilir.

Şunlara uygulanır

Ayrıca bkz.