Ich bin kein Ingenieur, daher habe ich wenig mit HTTP zu tun und stecke fest. Deshalb habe ich es für ähnliche Entwicklungsanfänger veröffentlicht. Diesmal war es eine Situation, in der ich auf Bilder im Cloud-Speicher zugreifen wollte.
Der folgende Code entspricht der Möglichkeit, dass er mit der Bilddatei im Projektstamm identisch sein kann.
index.html
//Andere weggelassen
<img src="example.png ">
Wenn ich in Google Chrome auf localhost zugreife, wird das Bild nicht angezeigt.
Refused to load the image 'Bild URL' 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.
Die obige Warnung in den Entwicklertools. Anscheinend ist es nicht gut für die Sicherheit, also hör auf. Weitere Informationen zu Richtlinien zur Inhaltssicherheit finden Sie unter dem Link hier .
Weitere Informationen finden Sie in der offiziellen Play-Dokumentation. https://www.playframework.com/documentation/ja/2.4.x/SecurityHeaders
Platzieren Sie die Filterklasse im Projektstamm. Der Autor war Scala, aber Java hat die Quelle aus dem obigen Dokument erhalten.
filter.scala
//Zitiert aus dem obigen Link (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;"
・ ・ ・ Geladen!