HttpSessionState.IsCookieless Свойство

Определение

Возвращает значение, указывающее, внедрен ли идентификатор сеанса в URL-адрес или хранится в HTTP-файле cookie.

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

Значение свойства

true Значение , если сеанс внедрен в URL-адрес; falseв противном случае .

Примеры

В следующем примере кода атрибут сеанса cookieless имеет значение true в файле Web.config.

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

Комментарии

ASP.NET однозначно определяет сеансы с каждым браузером. По умолчанию уникальный идентификатор сеанса хранится в файле cookie сеанса без истечения срока действия в браузере. Можно указать, что идентификаторы сеанса не хранятся в файле cookie, задав cookieless атрибут true в элементе конфигурации sessionState .

Note

Чтобы повысить безопасность приложения, приложение должно разрешить пользователям выйти из системы, в какой момент он должен вызвать Abandon метод. Это снижает вероятность нежелательного источника с помощью уникального идентификатора в URL-адресе для получения частных данных, хранящихся в сеансе для пользователя.

ASP.NET поддерживает состояние сеанса без файлов cookie, автоматически вставляя уникальный идентификатор сеанса в URL-адрес страницы. Например, следующий URL-адрес был изменен ASP.NET для включения уникального идентификатора сеанса lit3py55t21z5v5v5vlm25s55:

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

ASP.NET изменяет ссылки, содержащиеся на всех запрошенных страницах, путем внедрения значения идентификатора сеанса в ссылки непосредственно перед отправкой каждой страницы в браузер. Состояние сеанса сохраняется до тех пор, пока пользователь следует пути ссылок, которые предоставляет сайт. Однако если агент пользователя перезаписывает URL-адрес, экземпляр состояния сеанса будет потерян.

Идентификатор сеанса встраивается в URL-адрес после косой черты, следующей за именем приложения, и перед любым оставшимся файлом или идентификатором виртуального каталога. Это позволяет ASP.NET разрешать имя приложения перед использованием SessionStateModule в запросе.

По умолчанию идентификаторы сеансов, используемые в сеансах без файлов cookie, перезапускаются. То есть, если запрос выполняется с идентификатором сеанса, истекшим сроком действия, новый сеанс запускается с использованием идентификатора сеанса, предоставленного запросом. Это может привести к нежелательному совместному использованию данных сеанса, если ссылка, содержащая идентификатор сеанса без cookie, предоставляется нескольким браузерам, возможно, через поисковую систему или другую программу. Вы можете уменьшить вероятность совместного использования данных сеанса несколькими клиентами, отключив повторное использование идентификаторов сеансов. Для этого задайте regenerateExpiredSessionId для атрибута элемента конфигурации sessionState значение true. Это приведет к созданию нового идентификатора сеанса при выполнении запроса сеанса без файлов cookie с идентификатором сеанса с истекшим сроком действия. Обратите внимание, что если запрос с идентификатором сеанса с истекшим сроком действия использует метод HTTP POST, все опубликованные данные будут потеряны при regenerateExpiredSessionIdtrue, так как ASP.NET выполняет перенаправление, чтобы убедиться, что браузер имеет новый идентификатор сеанса в URL-адресе.

Note

При настройке regenerateExpiredSessionId атрибута true для уменьшения возможности нежелательного доступа к данным сеанса он не защищает от нежелательного источника, получающего доступ к сеансу другого пользователя, получив значение и включив SessionID его в запросы к серверу. Если вы храните частную или конфиденциальную информацию в состоянии сеанса, рекомендуется использовать SSL для шифрования любой связи между браузером и сервером, который включает в SessionIDсебя.

Применяется к

См. также раздел