我正在得到一个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标头$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'')
我做错了什么吗?还是有其他方法来修复警报?
您没有遵循您链接的文章中的语法,其中列出了:
$httpProvider.defaults.headers.get = { 'My-Header' : 'value' }
所以你的应该是:
$httpProvider.defaults.headers.get = { 'X-Frame-Options' : 'DENY' }
MRWook建议这可能不是最好的选择。您还应该检查以下答案:
- 如何将X帧选项设置为AngularJS中的响应标头?
- Angular JS加载外部站点
$httpProvider.defaults
用于设置请求标题。撇开您尝试使用它的错误, X-Frame-Options
是响应 header。
您无法在Angular中设置响应标头:它是客户端应用程序。
您需要配置HTTP服务器(https://10.11.12.13
(以包含标头。
您的工作方式取决于您使用的HTTP服务器软件。例如,本指南涵盖了Apache HTTPD和NGINX。您需要找到用于使用的软件的文档。