Как я могу установить флаг безопасности для файла cookie сеанса ASP.NET? - PullRequest
126 голосов
/ 18 сентября 2009

Как я могу установить флаг безопасности для файла cookie сеанса ASP.NET, чтобы он передавался только через HTTPS, а не через обычный HTTP?

Ответы [ 4 ]

161 голосов
/ 31 мая 2011

В элемент <system.web> добавьте следующий элемент:

<httpCookies requireSSL="true" />

Однако, если у вас есть элемент <forms> в вашем блоке system.web\authentication, тогда это переопределит настройку в httpCookies, вернув ей значение по умолчанию false.

В этом случае вам также необходимо добавить атрибут requireSSL="true" к элементу формы.

Итак, вы получите:

<system.web>
    <authentication mode="Forms">
        <forms requireSSL="true">
            <!-- forms content -->
        </forms>
    </authentication>
</system.web>

См. здесь и здесь для документации MSDN этих элементов.

108 голосов
/ 18 сентября 2009

Есть два способа, один элемент httpCookies в web.config позволяет вам включить requireSSL, который передает только куки-файлы, включая сеанс только в SSL, а также внутри аутентификации форм, но если вы включаете SSL в httpcookies, вы необходимо также включить его внутри конфигурации форм.

Изменить для наглядности: Поместите это в <system.web>

<httpCookies requireSSL="true" />
18 голосов
/ 08 марта 2016

Все становится быстро, если вы говорите о проверенном коде в корпоративной среде. Мы обнаружили, что наилучший подход заключается в том, чтобы web.Release.config содержал следующее:

<system.web>
  <compilation xdt:Transform="RemoveAttributes(debug)" />
  <authentication>
      <forms xdt:Transform="Replace" timeout="20" requireSSL="true" />
  </authentication>
</system.web>

Таким образом, разработчики не будут затронуты (работают в Debug), и только те серверы, которые получают сборки Release, требуют, чтобы куки были SSL.

0 голосов
/ 01 марта 2019

secure - этот атрибут указывает браузеру отправлять cookie только в том случае, если запрос отправляется по безопасному каналу, такому как HTTPS. Это поможет защитить куки от незашифрованных запросов. Если доступ к приложению возможен как по HTTP, так и по HTTPS, существует вероятность, что cookie может быть отправлен в виде открытого текста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...