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

时间:2018-03-26 17:03:27

标签: angularjs http-headers zap

我正在获得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

中的提醒我set 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'')

我做错了吗?或者有不同的方法来修复警报吗?

2 个答案:

答案 0 :(得分:0)

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

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

所以你应该是这样的:

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

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

答案 1 :(得分:0)

$httpProvider.defaults 用于设置 request 标头。撇开您在尝试使用它的方式上的错误,X-Frame-Options 是一个响应标头。

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

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

您如何做到这一点取决于您使用的 HTTP 服务器软件。例如,This guide 涵盖了 Apache HTTPD 和 Nginx。您需要找到所用软件的文档。