URL重写规则是否在Classic ASP网站中导致重复的会话变量

时间:2019-05-07 18:49:27

标签: asp-classic session-cookies url-rewrite-module

我的网站在Windows 2012R2的IIS 8.5上运行。应用程序池是.NET CLR版本4.0;集成管道模式。我正在运行URL Rewrite 2.0。

该站点本身是Classic 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元素。

整个想法是我想在mydomain.com和* .mydomain.com上共享一个会话cookie。有人可以帮助我确定是造成重复的原因是我的web.config规则,还是导致我忽略的浏览器行为?我被卡住了。

0 个答案:

没有答案