FormsAuthentication.FormsCookiePath - PullRequest
1 голос
/ 18 мая 2009


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


A) Но если предположить, что мы защищаем наше приложение от атак воспроизведения, включив SSL для всего приложения, и поскольку модуль проверки подлинности с помощью форм также шифрует данные проверки подлинности в файле cookie проверки подлинности, то я думаю, что вероятность использования этого файла cookie не будет, и сохранение файлов cookie в течение более длительных периодов времени не должно представлять угрозу безопасности?!


Q2

FormsAuthentication.FormsCookiePath указывает, где хранится куки-файл аутентификации. Значение по умолчанию is /’.

A) При условии, что используется значение по умолчанию ’/’, где тогда сохраняются файлы cookie?

B) Этот параметр используется только для постоянных файлов cookie?


1025 * спасибо *

1 Ответ

4 голосов
/ 18 мая 2009

2A Путь cookie - это путь на сервере, к которому относится cookie, а не путь, в котором хранится cookie.

С http://www.quirksmode.org/js/cookies.html

Путь дает вам возможность указать каталог, в котором активен файл cookie. Поэтому, если вы хотите, чтобы куки отправлялись только на страницы в каталоге cgi-bin, укажите путь к / cgi-bin. Обычно путь имеет значение /, что означает, что cookie действителен во всем домене. Этот скрипт делает это, поэтому куки, которые вы можете установить на этой странице, будут отправляться на любую страницу в домене www.quirksmode.org (хотя только на этой странице есть скрипт, который ищет куки и что-то с ними делает).

Вы используете ASP.Net. Также смотрите параметры сеанса и аутентификации CookieLess, например, http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.formscookiepath.aspx Если вы беспокоитесь о файлах cookie. Вместо этого используется идентификатор сеанса URL для отслеживания вашего сеанса.

Вы также можете использовать SQL Server для отслеживания состояния сеанса или сервера состояний. например,

<sessionState mode="SQLServer" sqlConnectionString="SQLSessionDB" cookieless="false" timeout="65" cookieName="MSESSID"/>

1A. SSL шифрует транспорт. Следовательно, ваши куки будут с меньшей вероятностью украдены по пути к клиенту или обратно. Это не означает, что вредоносная программа на клиентском компьютере не может ее украсть. Хотя это очень маловероятно.

...