Asp.NET и Cookies - PullRequest
       51

Asp.NET и Cookies

1 голос
/ 24 ноября 2011

На моем сайте я не использую куки. Когда пользователь входит в систему, я проверяю учетные данные пользователя, получая пароль из базы данных, и, если проверяются учетные данные пользователя, я сохраняю идентификатор электронной почты и другую информацию, связанную с пользователем, в сеансе. Я использую значения сеанса на других страницах для проверки пользователя для этой страницы.

WebConfig:

<sessionState cookieless="true" />
    <authentication mode="Forms">
      <forms name=".YAFNET_Authentication" loginUrl="Home.aspx" 
protection="All" timeout="43200" cookieless="UseUri"/>
    </authentication>

Если я выберу UseUri для cookiless, тогда URL будет

(S(2zlu5ry2ewsqfuzkfcmy1xl5))/Home.aspx

Что прикреплено к моему URL, Безопасно ли выставлять это значение, я хочу использовать сеанс без файлов cookie, поскольку на большинстве iPhone, просматривающих сайт, файлы cookie отключены.

У меня есть сертификат SSL для моего сайта. Я волнуюсь, если отображение указанного выше значения в URL может поставить под угрозу безопасность?

1 Ответ

0 голосов
/ 24 ноября 2011

по умолчанию значения идентификатора сессии хранятся в куки. Если вы упомянули режим без файлов cookie, идентификатор сессии будет добавлен к URL.

ОТ MSDN http://msdn.microsoft.com/en-us/library/ms178581.aspx

Идентификаторы сеанса

Сессии идентифицируются уникальным идентификатором, который может быть прочитан используя свойство SessionID. Когда состояние сеанса включено для Приложение ASP.NET, каждый запрос на страницу в приложении проверено значение SessionID, отправленное из браузера. Если нет SessionID значение предоставляется, ASP.NET запускает новый сеанс и SessionID значение для этого сеанса отправляется в браузер с ответом.

По умолчанию значения SessionID хранятся в файле cookie. Тем не менее, вы можете также настройте приложение для хранения значений SessionID в URL для сеанса без печенья.

Сеанс считается активным, если запросы продолжают поступать с тем же значением SessionID. Если время между запросами на конкретный сеанс превышает указанное значение времени ожидания в минутах, сеанс считается просроченным. Запросы сделаны с истекшим Значение SessionID приведет к новому сеансу.

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

...