如何调试Angular应用程序以解决CSP标头问题?

时间:2019-07-04 10:43:24

标签: angular xss content-security-policy

我已经构建了一个Angular应用程序,最近对该应用程序进行了安全漏洞扫描,团队建议添加content-security-policy标头以防止XSS攻击。添加这些标头后,我的应用甚至无法打开,只是一个黑色页面,控制台中出现错误。

  

未捕获的EvalError:拒绝将字符串评估为JavaScript,因为在以下内容安全策略指令中不允许使用'unsafe-eval'脚本源:“ default-src'unsafe-inline' .mycompany.me wss:// .mycompany.me ws:// .mycompany.me https:// .s3-ap-south-1.amazonaws.com Blob:数据:https:“

不建议添加'unsafe-eval',因为它会使应用程序遭受XSS攻击,因此无法将值添加到CSP标头中。

我牢记以下问题:

  1. 要使该应用正常运行,我需要添加到Content Security Policy中的所有内容。

  1. 我怀疑AppModule甚至没有加载,并且该应用卡在index.html页面中。因为我在AppComponent加载时只有很少的xhr调用,但是当我在Chrome中检查“网络”标签时却没有发生。 我正在使用角形材料。这是我的index.html页面。

    • <html lang="en">
      <head>
        <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
      
        <!-- KaTex -->
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.5.1/katex.min.css">
      
        <meta charset="utf-8">
        <title>My Angular App</title>
        <base href="/">
      
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="icon" type="image/x-icon" href="favicon.png" sizes="32x32">
      </head>
      <body>
        <app-root></app-root>
      </body>
      </html>

我还应该在CSP标头中将googleapiscloudflare列入白名单吗?


  1. 最重要的问题是我的脑海,我急需帮助。 Refused to evaluate a string as JavaScript如何在此处调试字符串,这会造成麻烦?如果可以在源代码中找到它,那么我可以做些什么。

任何建议都会很有帮助。预先感谢。

0 个答案:

没有答案