【问题标题】:Angular Preflight Request to Add HeadersAngular Preflight 请求添加标头
【发布时间】:2021-07-03 01:28:18
【问题描述】:

我有这个项目在 Angular 8 中运行,并且确实使用预检和实际 API 调用了 api。由于预检 OPTIONS 没有标头 Strict-Transport-Security: max-age=31536000;,我们的网络安全存在问题。 includeSubDomains 而实际的 GET api 有一个。

您是否知道如何以及在何处添加 Strict-Transport-Security: max-age=31536000; includeSubDomains 在 preflight 和实际请求下,以便两个请求具有相同的标头?

【问题讨论】:

    标签: angular security web options preflight


    【解决方案1】:

    这是将 HttpHeader 设置为请求的方式。

    import {Injectable} from '@angular/core';
    import {Http, Headers} from '@angular/http';
    
    @Injectable()
    export class HttpClient {
    
      constructor(private http: Http) {}
    
      get(url) {
        let headers = new Headers();
        headers.append('Transport-Security', 'max-age=31536000;includeSubDomains')
    
        return this.http.get(url, {
          headers: headers
        });
      }
    
    
    }
    

    【讨论】:

    • 我尝试将它添加到 httpclient 的标头中,但我遇到了 CORS 问题。但是当我删除它时没有CORS
    • 您需要在服务器端启用CORS
    • 修复在 FE 请求中应该是这样的,但在服务器中也应该设置
    猜你喜欢
    • 2020-05-06
    • 2019-07-16
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 2015-03-22
    • 2011-05-04
    相关资源
    最近更新 更多