[JAVA] Chargez des images à partir de sites / domaines externes avec Playframework2

Affichage de l'image du site / domaine externe dans le système Play2

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.

image.png

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 .

Solution: définissez l'en-tête de sécurité

Reportez-vous à la documentation officielle de Play. https://www.playframework.com/documentation/ja/2.4.x/SecurityHeaders

Créer une nouvelle classe de filtre

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)
}

Décrivez le domaine approuvé dans application.conf

application.conf



play.filters.headers.contentSecurityPolicy = "default-src 'self'; img-src 'self' example.com;"

・ ・ ・ Chargé! image.png

Recommended Posts

Chargez des images à partir de sites / domaines externes avec Playframework2
Extraire des images de visage à partir de vidéos avec ffmpeg et OpenVINO
Chargez un pot externe à partir du pot de graisse Spring Boot