我们为一系列网站提供了单点登录实现,其中身份验证 cookie 来自根域(例如 bar.com),允许它们登录到子域(例如 foo.bar.com)。该实现在 C# 中使用标准 .net 表单身份验证。
不幸的是,我们的一些用户的身份验证 cookie 被反间谍软件删除。通过使用 PC Tools Anti Spyware 和 IE8,我已经能够重现这种情况。
实际结果是用户登录网站,导航到另一个页面,然后被要求再次登录。
该 cookie 被反间谍软件标记为低风险跟踪 cookie。
有什么方法可以让 cookie 更适合我们用户的反间谍软件明显挑剔的口味?
更新:
我已经查看了领先的“。” 问题,这是一个红鲱鱼。IE 不在乎,正如我通过这篇文章发现的那样,RFC 2965 规范要求实现者提供前导点。
进一步阅读使我看到了文章“隐私警报:Cookie 变体可用于绕过拦截器、反间谍软件工具”。从本质上讲,许多网站都使用子域作为隐藏跟踪 cookie 的一种方式。
看起来一些反间谍软件会尊重父域上的P3P(隐私偏好平台)声明。不幸的是,由于缺乏浏览器实现者的支持,P3P 的工作已经暂停。
在这个阶段,我认为问题的解决方案将像一位用户所建议的那样:子域将需要创建自己的身份验证 cookie。