配置安全标头

Play 提供一个安全标头过滤器,可以用于配置一些在HTTP响应中的默认标头,以减轻安全问题和为新应用程序提高防御级别。

启用安全标头过滤器

要启用安全标头过滤器, 添加Play 过滤器项目到你的build.sbt 中的 libraryDependencies 项:

libraryDependencies += filters

现在添加安全标头过滤器到你的过滤器类, 通常是在项目根目录创建一个Filters 类:

import javax.inject.Inject

import play.api.http.HttpFilters
import play.filters.headers.SecurityHeadersFilter

class Filters @Inject() (securityHeadersFilter: SecurityHeadersFilter) extends HttpFilters {
  def filters = Seq(securityHeadersFilter)
}

Filters 可以在根包或其它地方, 如果它用另一个名字或在其它包, 需要在application.conf 中使用play.http.filters 配置:

play.http.filters = "filters.MyFilters"

配置安全标头

Scaladoc 在 play.filters.headers 包。

过滤器会在HTTP响应自动设置标头。设置可以在application.conf 中通过以下设置来配置。

任何标头都可以通过设置一个null配置值来禁用, 例如:

play.filters.headers.frameOptions = null

有关配置选项的完整列表, 查阅Play过滤器 reference.conf