首页 > 解决方案 > ASP.NET:启用逗号作为 cookie 分隔符而不使用不雅的 hack?

问题描述

本周,我们开始从平板电脑和智能手机上的三星浏览器用户那里收到错误日志,其中偶尔会使用逗号分隔发送到我们服务器的 Cookie HTTP 标头中的两个 cookie,而不是标准的分号。当前定义 cookie 和 HTTP 状态管理的RFC RFC 6265表示接受分号作为分隔符,但它前面的两个 RFC(29652109)指定“服务器也应该接受逗号 (, ) 作为 cookie 值之间的分隔符,以便将来兼容。”

这对我们有两个后果:

在我们这边拼凑一些东西来修复崩溃的转换是很容易的。我可以寻找一个逗号,如果它存在的话,忽略它和它后面的所有东西,转换就会成功。但后来我必须手动处理恢复“丢失”的 cookie,而且真的,如果可能的话,我想避免这些类型的黑客攻击。鉴于 Android 手机上操作系统更新的状态,我非常希望能解决这个问题。但由于较旧的 RFC 建议在服务器端支持逗号作为分隔符,我希望有一些可配置的东西可以让我免费获得这种行为,而无需在我们的应用程序代码中使用不雅的 hack。

所以真的,我要问的是:

标签: asp.nethttpcookiessamsung-browser

解决方案


推荐阅读