簡體   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