ASP.NET 无法正确处理逗号分隔的 cookie

2024-01-22

根据the RFC http://www.w3.org/Protocols/rfc2109/rfc2109,“Cookie”HTTP 标头中的各个 cookie 可以用逗号和分号分隔。但是,ASP.NET 无法正确解析逗号大小写 - 它不会将逗号视为分隔符,而是将其视为值的一部分。

例如如果客户端发送标头Cookie: a=b, c=d,那么 ASP.NET 应用程序将只看到一个名为“a”且值为“b, c=d”的 cookie。

作为一种特殊情况,当客户端发送多个 Cookie 标头(每个 cookie 一个)而不是将所有 cookie 组合在一个标头中时,也会发生同样的情况。从 HTTP 的角度来看,这是完全有效的,在这种情况下,标头的有效值应该是用逗号分隔的所有实例的值的串联。

有人知道这个问题的解决方法(或者可能是修复程序吗?)?我绝对需要让它发挥作用,因为我无法控制客户。

附:讽刺的是,根据这个线程 https://stackoverflow.com/questions/1136405/handling-a-comma-inside-a-cookie-value-using-nets-c-system-net-cookie,.NET 内置 HTTP 客户端(又名 HttpWebRequest)的行为恰恰相反,也会导致问题。 :-)


众所周知,RFC 2109 和 RFC 2965 都没有描述现实。

你应该看看草案 ietf-httpstate-cookie http://greenbytes.de/tech/webdav/draft-ietf-httpstate-cookie-04.html这是新的 IETF httpstate 工作组的工作产品。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET 无法正确处理逗号分隔的 cookie 的相关文章

  • C# 中的 strstr() 等效项

    我有两个byte 我想找到第二个的第一次出现byte 在第一个byte 或其中的一个范围 我不想使用字符串来提高效率 翻译第一个byte to a string会效率低下 基本上我相信就是这样strstr 在 C 中做 最好的方法是什么 这
  • 终结器线程的范围是什么 - 每个应用程序域或每个进程?

    根据我的所有阅读 应该有一个 GC 线程来调用所有终结器 现在的问题是这个 一个 线程的范围是什么 每个进程或每个应用程序域 因为域的整体目的是在一个进程空间中分离并创建 独立 的不同应用程序 I read here http dn cod
  • Angular2 与 ASP.NET 5 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在将 Angular2 与 ASP NET5 gulp 和 typescript 结合使用 当我解决
  • HTTP Header Key 可以重复吗?

    在 JAVA HttpUrlConnection 中 请求 Header 设置的主要逻辑代码如下 public synchronized void set String k String v for int i nkeys i gt 0 i
  • DateTime.Parse("2012-09-30T23:00:00.0000000Z") 始终转换为 DateTimeKind.Local

    我想解析一个表示 UTC 格式的日期时间的字符串 我的字符串表示形式包括 Zulu 时间规范 该规范应指示该字符串表示 UTC 时间 var myDate DateTime Parse 2012 09 30T23 00 00 0000000
  • 如何禁用 Alt + F4 关闭表单?

    What is the best way to disable Alt F4 in a c win form to prevent the user from closing the form 我使用表单作为弹出对话框来显示进度条 但我不希
  • 如何完全禁用签名程序集?

    我有一个包含多个项目的 VS NET 2010 解决方案 我刚刚添加了一个新的库项目 the library assembly 启动项目是一个网站 当我运行该网站时 出现以下错误 无法加载文件或程序集 the library assembl
  • 如果将摘要添加为参考,则摘要不会显示在程序集中

    我用 C 创建了一个 类库 其中包含许多带有摘要的函数 XML 文档注释 例如
  • 如何使用 Blazor 在 ASP.NET CORE 中更新数据库后刷新网页

    我正在制作一个小型房间预订网络应用程序 我希望在给定的时间间隔内刷新网页 即给定的一分钟或对数据库进行更改时 我发现StateHasChanged 但我真的不知道如何实现它 这里是新手一克诺比 我尝试将其放在将约会添加到日程表的函数中 va
  • UpdatePanel 更新时 ASP 页面滚动到顶部

    我遇到一个问题 我有一个 UpdatePanel 它使用计时器来触发用新点更新 ASP 图表 本质上是位于https web archive org web 20201205213920 https www 4guysfromrolla c
  • 生成逗号分隔值

    假设我有一个字符串集合 foo bar xyz 我想从列表中生成一个逗号分隔的值 如下所示 foo bar xyz 请注意末尾缺少 我知道有多种方法可以生成此内容 使用 for 循环和 string Format 或 StringBuild
  • 为 html5 输入类型渲染 asp.TextBox =“date”

    不知道以前有没有问过 也没找到 是否可以控制由 asp TextBox 呈现的输入文本的类型 我想把它改成
  • 我的 MS Access 数据库不会更新 asp.net

    我正在尝试更新我的数据库但没有成功 这就是我的桌子的样子 https i stack imgur com Q6EDk png https i stack imgur com Q6EDk png 打开模态后 它看起来像这样 https i s
  • 从另一个 FORM 中取回隐藏的 FORM

    我有两种形式Form1 and Form2 我正在打开Form2 from Form1 on button Click Form2 obj2 new Form2 this Visible false obj2 Show 然后我想回来Form
  • 直接将 .aspx 转换为 .pdf [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么有些控件同时具有BackgroundImage和Image属性?

    为什么有些控件喜欢Button or PictureBox两者都有BackgroundImage and Image财产 为什么在按钮的情况下需要它们两个 或者为什么在图片框中背景图像应该可用 BackgroundImage继承自Contr
  • 检测 TextBox 中的 Tab 键按下

    I am trying to detect the Tab key press in a TextBox I know that the Tab key does not trigger the KeyDown KeyUp or the K
  • 我需要安装什么才能获取 Microsoft.TeamFoundation.WorkItemTracking.Client.dll?

    我只需要安装VS2010 SDK http www microsoft com downloads en details aspx FamilyID 47305cf4 2bea 43c0 91cd 1b853602dcc5 是否有 TFS2
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • asp.net 视图状态加密

    我有几个关于何时以及如何在 ASP NET 3 5 中加密视图状态的问题 例如 如果我的 web config 中有一个机器密钥条目 例如 解密Key 自动生成 IsolateApps 验证 AES 解密 自动 gt 此时视图状态是否已加密

随机推荐

  • 如何通过“外键”关系组合json对象

    我有从两个不同的休息资源返回的两个对象 id 1 username jdoe role id 1 role developer members 1 3 5 我想使用普通的 ole javascript 将这两个对象组合成一个 id 位于成员
  • 是否可以从外部 ExtendScript 执行 JSX 脚本?

    通常 当您编写 jsx 脚本来自动化 Adob e 产品 如 InDesign Illustrator 或 Photoshop 时 您可以从 ExtendScript IDE 编写 调试和执行脚本 是否可以绕过 ExtendScript 并
  • 更新 cloud firestore 文档中的单个地图

    最终更新我从使用基于 andresmijares 的以下答案的事务更改为使用 set 现在我可以将数据写入数据库 var gradeDocRef db collection students doc studentId console lo
  • 数组的 [..] 和 [...] 之间没有区别吗?

    Edit 做了一个 github 问题 https github com jashkenas coffee script issues 3452 issuecomment 40976448 一天后它就被 jashkenas 关闭了 因此 要
  • 如何在 iPhone 的 webview 中打开字符串中的 url

    我只想从我的字符串中打开一个网址 我的字符串已经有我只想显示的网址UIWebView myString http maps google com maps zoom 8 sensor false lci transit layer traf
  • 显示另一个 UIWindow 时出现问题

    我正在编写一个 iPad 应用程序 并且正在尝试显示第二个应用程序UIWindow在我的应用程序的主窗口顶部 我想做的主要事情是创建一个登录窗口 如何使用 UISplitViewController 呈现登录 https stackover
  • 开发者可以通过 WatchKit 获取心率原始数据吗?

    是否可以使用 Apple WatchKit 以及用于心跳 心率数据访问 原始数据访问的 API 来开发第三方应用程序 WatchKit SDK 现在对开发者公开可用吗 心率原始数据信息是现在可用 in Watchkit for watchO
  • 从二进制文件中提取对象并放入 List

    我以前做过这个 但不知道我是怎么做到的 我有一个二进制文件 我想在其中存储对象 我已经序列化了对象类 Serializable 并已成功将各个对象保存到文件中 然而 当尝试读取对象并放入其中时 问题开始出现 List lt gt 以便进一步
  • Wordpress 与 Haml/Sass

    使用过Haml http haml lang com and Sass http sass lang com 对于一些 Rails 副项目 我发现它们极大地加快了我的前端开发速度 然而 我还没有找到像 Wordpress 这样强大或客户熟悉
  • PHP 是面向对象的吗?

    PHP 是面向对象的语言吗 如果没有 那么 CakePHP 框架怎么样 它是 PHP 的面向对象 MVC 实现吗 另外 PHP 应用程序可以完全使用classes叫做面向对象 不 PHP 不是完全面向对象的语言 C 或 Java 也不是 因
  • Python插入变量字符串作为文件名

    我试图在每次脚本运行时创建一个具有唯一文件名的文件 我只想每周或每月这样做 所以我选择使用日期作为文件名 f open s csv wb name 这是我收到此错误的地方 Traceback most recent call last Fi
  • Cocos2D 中的评分系统

    我的游戏有碰撞检测功能 当我的导弹击中敌人时 敌人就会消失 我想添加一个评分系统 每次我的导弹击中敌人时都会增加 1 分 我将在下面发布我的游戏代码 我使用了HelloWorldLayer m 这是代码 Link http pastebin
  • sed 就地标志适用于 Mac (BSD) 和 Linux

    是否有调用sedtodo 无需备份即可在 Linux 和 Mac 上进行就地编辑 虽然 BSDsedOS X 附带的似乎需要sed i GNUsedLinux 发行版通常将引号解释为空输入文件名 而不是备份扩展名 并且需要sed i 反而
  • 如何在Racket中使用TCP?

    我试图从客户端向服务器发送消息 并在服务器上打印该消息 服务器 rkt lang racket define the listener tcp listen 9876 define values in out tcp accept the
  • 检测/解析文本中的邮寄地址

    是否有任何开源 商业库可以检测文本中的邮寄地址 就像 Apple 的邮件应用程序在 Mac iPhone 上为地址添加下划线一样 我一直在网上做一些研究 想法似乎是使用 Google Regex 或完整的 NLP 软件包 例如斯坦福大学的
  • JS改变元素的颜色Onclick未定义的颜色

    我想制作一个颜色更改器按钮 但最后一次单击后 颜色将设置为未定义 知道如何删除它吗 var color Orange Red Green Blue var i 0 document querySelector changeColorBtn
  • 如何让我的 Selenium 测试不那么脆弱?

    我们使用 Selenium 来测试 ASP NET 应用程序的 UI 层 许多测试用例测试跨越多个页面的较长流程 我发现测试非常脆弱 不仅因为实际更改页面的代码更改而被破坏 而且还因为无害的重构而被破坏 例如重命名控件 因为我需要将控件的
  • 使用 webpack 创建 less 包

    我需要使用 webpack 创建一个bundle less 文件 其行为与 less loader exctract 文本插件相同 除了它不应该将 less 编译成 css 而只连接所有必需的 less 文件并内联 less 导入 原因是我
  • Webpack 为项目中的图像创建哈希文件名

    在 client components 文件夹中的组件之一中 我从 public images 文件夹导入三个图像 在某个时刻 webpack 为每个图像创建了一个文件 其散列名称如下 0e8f1e62f0fe5b5e6d78b2d9f41
  • ASP.NET 无法正确处理逗号分隔的 cookie

    根据the RFC http www w3 org Protocols rfc2109 rfc2109 Cookie HTTP 标头中的各个 cookie 可以用逗号和分号分隔 但是 ASP NET 无法正确解析逗号大小写 它不会将逗号视为