Aracılığıyla paylaş


HttpSessionState.IsCookieless Özellik

Tanım

Oturum kimliğinin URL'ye mi eklendiğini yoksa http tanımlama bilgisinde mi 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

Boolean

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 true sessionState yapılandırma öğesinde olarak ayarlayarak cookieless oturum tanımlayıcılarının tanımlama bilgisinde depolanmayacaklarını belirtebilirsiniz.

Not

Uygulamanızın güvenliğini geliştirmek 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ıdan önce 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 motoru 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 dolmuş 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ği için, gönderilen tüm verilerin olduğunda kaybolacağını regenerateExpiredSessionId trueunutmayın.

Not

özniteliğini regenerateExpiredSessionId true olarak ayarlamak oturum verilerinin istenmeyen paylaşılma olasılığını azaltırken, 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.