繁体   English   中英

在Play中设置HTTP标头! 框架Web应用程序

[英]Setting HTTP headers in a Play! framework web application

在Play的哪里可以设置安全HTTP标头! 框架Web应用程序项目? 我想将诸如X-Content-Type-Options标头设置为nosniff ,将X-Frame-Options标头设置为DENY

我试图在nginx.conf文件中设置这些标头,但是它不能与ZAP工具一起使用,因为ZAP工具会在将其设置到此文件后发出警告,告知这些标头丢失。

链接: https//github.com/playframework/playframework/pull/2524

我已经在配置安全标头的文档中尝试了该解决方案,但是该软件包中没有提供SecurityHeadersFilter类。

我正在使用Play! 2.2.1和Java用于控制器。

如果您将nginx用作Play应用的反向代理,则最好的方法是使用nginx 与其在您的nginx配置的http部分(按照您的注释 )中添加标题,不如尝试将其添加到server块中。

server {
        listen 80;
        server_name *.something.com;

        location /stuff {
                alias ../;

                add_header X-Frame-Options deny; 
                add_header X-XSS-Protection "1; mode=block"; 
                add_header X-Content-Type-Options nosniff; 
                add_header X-Content-Security-Policy "default-src 'self'; script-src 'self' ssl.google-analytics.com; img-src 'self' ssl.google-analytics.com";
        }
        ...
}

导致标题设置正确:

标头设置正确

使用OWASP ZAP工具,我可以验证标头设置正确。 没有设置X-Frame-Options标头:

未设置X框架选项

X-Frame-Options报头设置

设置了X-Frame-Options

升级到Play 2.3.1,并按照playframework网站上的配置安全标头说明进行操作。 请注意,升级到2.3。 1是必不可少的2.3。 0包含一个错误 ,需要解决方法才能实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM