【问题标题】:How to append HttpOnly flag in the existing Set-Cookie response header with Angular UI and .net framework WebApi如何使用 Angular UI 和 .net 框架 WebApi 在现有的 Set-Cookie 响应标头中附加 HttpOnly 标志
【发布时间】:2020-03-11 05:35:52
【问题描述】:

我有一个使用 Angular 作为前端和 .net framework 4.7 C# web api 作为服务器端的应用程序。这是托管在 IIS 10 中的。现在我们的客户想要在响应标头的 Set-Cookie 中添加 HttpOnly 标志。当我在 Chrome 开发工具中检查响应头时,我可以看到下面的 cookie:

设置 Cookie:NSC_mcwt_updpnqfuf-quf_________Jou_=ffffffff09ee746d45525d5f4f58455e445a4a423660;expires=Fri, 15-Nov-2019 06:52:47 GMT;path=/;secure

现在我想在现有 cookie 中附加“HttpOnly”标志。所以我尝试使用 web.config 文件中的 Rewrite 模块添加一个 cookie,它正在创建一个带有 HttpOnly 标志的新 Set-Cookie。但我只想追加现有的 Set-Cookie 标头本身。

我是否需要更改 Web.Config 文件中的任何内容以附加 HttpOnly 标志或在角度 UI 端进行任何所需的更改?

【问题讨论】:

    标签: iis setcookie response-headers httponly cookie-httponly


    【解决方案1】:

    据我所知,您可以尝试通过在 IIS 中启用 HttpOnly 标志来修改您的 IIS 应用程序中的 web.config 文件以满足您的要求。

    编辑您的 Web 应用程序的 web.config 文件并添加以下内容:

    <system.web>
      ...
      <httpCookies httpOnlyCookies="true" requireSSL="true" />
      ...
    </system.web>
    

    【讨论】:

    • 感谢您的更新..我已经这样做了。但它不会更新上面给出的现有 cookie。所以我使用了 iis 重写模块。但它正在创建一个新的 Set-Cookie 而不是现有的。
    • 简短的回答是:不,我们不能那样做。根据3.3.4 of RFC 2965 部分,用户代理在发送到服务器的 cookie 标头中不包含过期信息。因此,无法更新现有 cookie 的值,同时保留最初仅基于与 cookie 关联的信息设置的到期日期。
    猜你喜欢
    • 1970-01-01
    • 2019-08-07
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    • 2012-09-30
    • 2017-05-25
    • 2018-08-29
    相关资源
    最近更新 更多