我在哪里可以在Play中设置安全HTTP标头!框架Web应用程序项目?我想将X-Content-Type-Options
到nosniff
和X-Frame-Options
等标题设置为DENY
。
我已尝试在nginx.conf
文件中设置这些标头,但它无法使用ZAP工具,因为ZAP工具在将其设置到此文件后会发出警告,指出这些标头丢失。
link:https://github.com/playframework/playframework/pull/2524
我在Configuring Security Headers的文档中尝试了解决方案,但是包中没有类SecurityHeadersFilter
。
我正在使用Play! 2.2.1和Java用于控制器。
答案 0 :(得分:0)
如果您将其用作Play应用的反向代理,可能最好的地方是nginx
。您可以尝试在http
块中添加标题,而不是在nginx配置的server
部分中添加标题(根据your comment)。
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 tool我可以验证标头是否设置正确。 X-Frame-Options
标题不设置:
设置X-Frame-Options
标题 时:
答案 1 :(得分:0)
升级到Play 2.3.1并按照playframework网站上的configure security headers instructions进行操作。请注意,升级到2.3。 1 是必不可少的2.3。 0 包含bug,需要一种解决方法才能实现。