ranio Ответов: 1

Как разрешить атрибут пути к файлу cookie, сопоставленный с корневой папкой в ASP.NET -что ?


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

Что я уже пробовал:

<httpCookies requireSSL="true" httpOnlyCookies="true" domain="" />

1 Ответов

Рейтинг:
0

dnxit

Чтобы ограничить домен наших файлов cookie, мы можем использовать некоторые настройки Web.config.

<configuration>
  <system.web>
    <!-- Prevent access to cookies from other sub-domains -->
    <httpCookies domain="app1.*.com" />
  </system.web>
</configuration>

Чтобы ограничить путь, нам нужно будет добавить некоторый код на стороне сервера. То, как мы справляемся с этим, в значительной степени зависит от структуры нашего приложения, но приведенный ниже пример функции позволяет нам указать путь от значения в нашем файле Web.config, когда мы устанавливаем файл cookie.
private void SetCookie(string Key, string Value) 
{
    Response.Cookies[Key].Value = Value;
    Response.Cookies[Key].Path = _
    ConfigurationManager.AppSettings["UserDefinedCookiePathFilter"];
}

Если мы используем этот метод для создания всех наших пользовательских файлов cookie, то он позволит нам ограничить путь из нашего web.config следующим образом:
<configuration>
  <appSettings>
    <add key="UserDefiniedCookiePathFilter"

      value="/VirtualDirectoryToFilter"/>
  </appSettings>
</configuration>

проверьте это для получения более подробной информации
https://headmelted.com/securing-asp-net-cookies-a1e1b1648ed[^]


ranio

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

Мой код:
Файл Web.Config
<add key="UserDefiniedCookiePathFilter" value="/DDS_AHB">

Глобальные.страница эйсакс
В Разделе Событие Application_PreSendRequestHeaders

строка CookiePath= ConfigurationManager.Параметр Appsettings["UserDefiniedCookiePathFilter"];
Ответ.AppendHeader("Set-Cookie", "path="+CookiePath);