Как я могу установить script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; для конкретной страницы или пути в игровой среде 2.6.x? - PullRequest
1 голос
/ 04 июля 2019

Я пытался установить текстовый редактор в своем веб-приложении.Где получить доступ к текстовому редактору, я должен разрешить script-src 'self' 'unsafe-inline' 'unsafe-eval' и style-src 'unsafe-inline'.Но в playframework 2.6.xi необходимо установить это значение в play.filters.headers.contentSecurityPolicy в файле конфигурации, что делает все приложение небезопасным.

Примечание: метатег не работает, даже я пытался передать Content-security-policy в заголовке ответа фильтром.Ничего не работает

В этом случае есть ли способ установить script-src 'self' 'unsafe-inline' 'unsafe-eval' and style-src 'unsafe-inline' для любой конкретной страницы или пути в игре 2.6.x?

1 Ответ

0 голосов
/ 04 июля 2019

Вот пример из шаблона Silhouette Seed

# Security Filter Configuration - Content Security Policy
play.filters.headers {
  contentSecurityPolicy = "default-src 'self';"
  contentSecurityPolicy = ${play.filters.headers.contentSecurityPolicy}" img-src 'self' *.fbcdn.net *.twimg.com *.googleusercontent.com *.xingassets.com vk.com *.yimg.com secure.gravatar.com;"
  contentSecurityPolicy = ${play.filters.headers.contentSecurityPolicy}" style-src 'self' 'unsafe-inline' cdnjs.cloudflare.com maxcdn.bootstrapcdn.com cdn.jsdelivr.net fonts.googleapis.com;"
  contentSecurityPolicy = ${play.filters.headers.contentSecurityPolicy}" font-src 'self' fonts.gstatic.com fonts.googleapis.com cdnjs.cloudflare.com;"
  contentSecurityPolicy = ${play.filters.headers.contentSecurityPolicy}" script-src 'self' cdnjs.cloudflare.com;"
  contentSecurityPolicy = ${play.filters.headers.contentSecurityPolicy}" connect-src 'self' twitter.com *.xing.com;"
}

Play 2.7 Для определенного действия это выглядит следующим образом:

Ok("Index").withHeaders(SecurityHeadersFilter.REFERRER_POLICY -> "my page-specific header")

Проверьте документацию: https://www.playframework.com/documentation/2.7.x/SecurityHeaders#Action-specific-overrides

Однако в Play 2.7 это устарело - вместо этого используйте CSP - см .: https://www.playframework.com/documentation/2.7.x/CspFilter#Enabling-CSP-on-Specific-Actions

Существует также возможность (в том же документе) исключить route из фильтра CSP, например:

+ nocsp
POST     /report-to                 controllers.CSPReportController.report
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...