如何在angularjs中设置X-Frame-Options标头?

问题描述 投票:0回答:2

我收到 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.js 中设置 HTTP headers

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

构建项目时,我收到类型错误

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

我做错了什么吗?或者有其他方法来修复警报吗?

angularjs http-headers zap
2个回答
0
投票
您没有遵循您

链接的文章中的语法,其中列出了:

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

所以你的应该是这样的:

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

正如 MrWook 所说,这可能不是最好的选择。您还应该查看这些答案:

  • 如何在 angularJS 中将 X-Frame-Options 设置为响应头?
  • Angular JS 在 iframe 中加载外部网站

0
投票

$httpProvider.defaults

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

您无法在 Angular 中设置响应标头:它是客户端应用程序。

您需要配置 HTTP 服务器 (

https://10.11.12.13

) 以包含标头。

如何执行此操作取决于您使用的 HTTP 服务器软件。例如,

本指南涵盖了 Apache HTTPD 和 Nginx。您需要找到您正在使用的软件的文档。

© www.soinside.com 2019 - 2024. All rights reserved.