Является ли правило перезаписи URL причиной повторяющихся переменных сеанса на классическом сайте ASP - PullRequest
0 голосов
/ 07 мая 2019

Мой сайт работает на IIS 8.5 в Windows 2012R2. Пул приложений .NET CLR версии 4.0; Интегрированный конвейерный режим. Я использую URL Rewrite 2.0.

Сам сайт является классическим ASP-сайтом. В Web.Config у меня есть исходящее правило, которое переписывает исходящий трафик для включения HttpOnly и domain = .mydomain.com (определения правил см. Ниже)

<outboundRules>
  <rule name="Add HttpOnly" preCondition="No HttpOnly">
    <match serverVariable="RESPONSE_Set_Cookie" pattern="ASPSESSION.*" negate="false" />
    <action type="Rewrite" value="{R:0}; HttpOnly; domain=.mydomain.com" />
    <conditions>
      <add input="{HTTP_HOST}" pattern="^.*mydomain.com$" />
    </conditions>
  </rule>

  <preConditions>
    <preCondition name="No HttpOnly">
      <add input="{RESPONSE_Set_Cookie}" pattern="." />
      <add input="{RESPONSE_Set_Cookie}" pattern="; HttpOnly; domain=.mydomain.com" negate="true" />
    </preCondition>
  </preConditions>
</outboundRules>

Итак, если вы посетите mydomain.com и просмотрите файлы cookie в консоли разработчика, вы увидите два файла cookie сеанса с одинаковым именем, но только с соответствующими флагами и знаком «.» префикс для домена; у другого нет ни одного флага или префикса.

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

Суть в том, что я хочу поделиться одним файлом cookie сеанса через mydomain.com и * .mydomain.com. Может ли кто-нибудь помочь мне определить, являются ли мои правила web.config причиной дублирования, или, возможно, какое-то поведение браузеров, которое я пропускаю? Я застрял.

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