Je suis un non-ingénieur, donc je suis clairsemé autour de HTTP, et je suis coincé, donc je l'ai posté pour des débutants en développement similaires. Cette fois, c'était une situation où je voulais accéder aux images dans le stockage en nuage.
Correspond au code suivant que cela peut être fait comme le fichier image à la racine du projet.
index.html
//Autres omis
<img src="example.png ">
Lorsque j'accède à localhost dans Google Chrome, l'image ne s'affiche pas.
Refused to load the image 'URL de l'image' because it violates the following
Content Security Policy directive: "default-src 'self'". Note that
'img-src' was not explicitly set, so 'default-src' is used as a fallback.
L'avertissement ci-dessus dans les outils de développement. Apparemment, ce n'est pas bon pour la sécurité, alors arrêtez. Pour plus d'informations sur la politique de sécurité du contenu, suivez le lien ici .
Reportez-vous à la documentation officielle de Play. https://www.playframework.com/documentation/ja/2.4.x/SecurityHeaders
Placez la classe de filtre dans la racine du projet. L'auteur était Scala, mais Java a obtenu la source du document ci-dessus.
filter.scala
//Cité à partir du lien ci-dessus (https://www.playframework.com/documentation/ja/2.4.x/SecurityHeader)
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)
}
application.conf
play.filters.headers.contentSecurityPolicy = "default-src 'self'; img-src 'self' example.com;"
・ ・ ・ Chargé!