【问题标题】:How to set X-Frame-Options header in angularjs?如何在 angularjs 中设置 X-Frame-Options 标头?
【发布时间】:2018-09-04 22:00:45
【问题描述】:

我收到 OWASP ZAP 扫描警报:

Medium (Medium)    X-Frame-Options Header Not Set
Description        X-Frame-Options header is not included in the HTTP response to protect against 'ClickJacking' attacks.
URL                https://10.11.12.13/web/network/config.html
Method             GET
Parameter          X-Frame-Options

修复我在 app.jsset HTTP headers 的警报

$httpProvider.defaults.headers.get['X-Frame-Options'] = 'DENY';

在构建项目时出现 TypeError

[INFO]  TypeError: 'undefined' is not an object (evaluating '$httpProvider.defaults.headers.get['X-Frame-Options']='DENY'')

我做错了吗?还是有其他方法可以修复警报?

【问题讨论】:

  • 是的,不要在 Angular 中做这种事情。在网络服务器或 .htaccess 文件或 web.config 文件中执行此操作。

标签: angularjs http-headers zap


【解决方案1】:

$httpProvider.defaults 用于设置 request 标头。撇开您在尝试使用它时的错误不谈,X-Frame-Options 是一个 response 标头。

您不能在 Angular 中设置响应标头:它是一个客户端应用程序。

您需要配置您的 HTTP 服务器 (https://10.11.12.13) 以包含标头。

具体操作方式取决于您使用的 HTTP 服务器软件。例如,This guide 涵盖 Apache HTTPD 和 Nginx。您需要找到您正在使用的软件的文档。

【讨论】:

    【解决方案2】:

    您没有遵循linked 文章中的语法,该文章列出了:

    $httpProvider.defaults.headers.get = { 'My-Header' : 'value' }
    

    所以你的应该是这样的:

    $httpProvider.defaults.headers.get = { 'X-Frame-Options' : 'DENY' }
    

    正如 MrWook 所建议的那样,这可能不是最佳选择。您还应该查看以下答案:

    【讨论】:

      猜你喜欢
      • 2017-03-09
      • 2021-05-06
      • 2020-07-21
      • 2015-08-25
      • 2023-03-08
      • 1970-01-01
      • 2018-06-08
      • 2019-09-21
      • 2013-11-16
      相关资源
      最近更新 更多