【问题标题】:any idea to setup Cookie parameter 'HttpOnly' using angular使用角度设置 Cookie 参数“HttpOnly”的任何想法
【发布时间】:2020-04-23 22:21:58
【问题描述】:

我试图使用 angular 设置 cookie 的参数。我可以设置到期日期和安全参数,但无法设置 HttpOnly 参数。 我已经使用 angular cookie 服务设置了“过期”和“安全”,即“cookie.service.d.ts”使用下面的方法

set(name: string, value: string, expires?: number | Date, path?: string, domain?: string, secure?: boolean, sameSite?: 'Lax' | 'Strict'): void;

我找不到如何设置 HttpOnly 参数,因为 Angular cookie 服务不包含这样的参数。 设置 HttpOnly 参数的任何最佳方式。

PFA..

【问题讨论】:

    标签: angular cookies


    【解决方案1】:

    HttpOnly cookie 上的标志意味着它只能由服务器端设置和访问。客户端代码将无法访问此类 cookie。因此,您将无法从客户端代码(如 angular)设置此标志。

    这是一项安全功能,可防止客户端代码(通过 XSS 注入的恶意代码)读取存储在 cookie 中的敏感信息。

    请参阅this issuethis answer 了解更多信息。

    下面还有来自MDN 的文本sn-p。 -

    通过 JavaScript 创建的 Cookie 不能包含 HttpOnly 标志。

    【讨论】:

    • 很好的回应。但是,角度可以读取那个 cookie 吗?
    【解决方案2】:

    HttpOnly cookie 无法从客户端访问,这意味着您将无法读取或设置它。

    您可以使用常规 cookie 来存储您可以从后端生成的授权令牌,例如 JWT

    默认情况下,Angular 将所有值都视为不受信任。当从模板绑定或插值将值插入 DOM 时,Angular 会清理并转义 untrusted values

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      • 2022-07-27
      • 1970-01-01
      • 2018-09-30
      • 2020-01-06
      • 2017-01-30
      相关资源
      最近更新 更多