2015-01-23 3 views
0

Похоже, что Chrome не удаляет файлы cookie сеанса (см. this question), в том числе те, которые установлены IIS для обработки сеанса.Должен ли я очищать файлы cookie сеанса при выходе из системы?

Когда я смотрю на хранилище cookie для своей страницы, я вижу большое количество старых этих файлов cookie с идентификатором сеанса ASP. Когда я обработаю выход из системы, было бы хорошей идеей использовать JavaScript, чтобы удалить их из браузера?

Могу ли я, пожалуйста, спросить, отвечаете ли вы, что вы даете аргументы, чтобы другие читатели могли понять, за что вы за или против?

ответ

0

Если они классические сеансы asp, они истекают в зависимости от установленного для них значения тайм-аута сеанса или установленной вами переменной тайм-аута сеанса IIS по умолчанию.

Вы не сможете манипулировать кукисами сеанса, используя только JS, потому что они генерируются случайными именами. Вы можете использовать JS для удаления файлов cookie, но гораздо проще использовать метод Session.Abandon и ASP, чтобы просто удалить сеансы. Если по какой-то причине сеансы по-прежнему не удаляются, попробуйте браузер инкогнито, так как может быть что-то происходит с вашим браузером, не удаляя файлы cookie должным образом.

Наконец, вы можете отключить состояние сеанса в частях вашего приложения asp. В частности, для частей сайта, которые не требуют сеансов. Вы можете даже сходить с ума и использовать другой субдомен для сеансов, чтобы вы не передавали файлы cookie с каждым запросом.

+0

Выполнение регулярного выражения по содержимому document.cookie для поиска всех файлов cookie, начинающихся с «ASPSESSIONID», представляется простым способом их найти. – user2113770

+0

Ключевой вопрос заключается в том, что тезисы являются сеансовыми кукисами, и поэтому IIS не устанавливает для них истечение срока действия. Возможно, Chrome удаляет только те файлы cookie, срок действия которых истекает. Ключевой вопрос заключается в том, должен ли я убирать cookie сеанса, который сервер создал как часть управления сессиями? – user2113770

+0

Для производительности сервера это не имеет значения. потому что IIS отпустит сеансы, когда они истекут. Я имею в виду, что если IIS отслеживает сеансы с таймаутом 20 минут, через 20 минут сеансовые куки ничего не значат для IIS, и сессия истекло. Что касается вопроса о том, что Chrome не очищает сеансы, вы можете использовать предложенный вами метод javascript regex, но единственное преимущество - уменьшить объем информации заголовка, отправляемой с каждым запросом. – Frank