Bootstrapcdn hat kürzlich seine Links geändert. Es sieht jetzt so aus:
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha256-MfvZlkHCEqatNoGiOXveE8FIwMzZg4W85qfrfIFBfYc= sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ=="
crossorigin="anonymous">
Was bedeuten die integrity
und crossorigin
Attribute? Wie wirken sie sich auf das Laden des Stylesheets aus?
quelle
Attribute integrity not allowed on element link at this point.
integrity
Attribut. Aber ich werde bald Unterstützung dafür hinzufügen, wie unter github.com/validator/validator/issues/151 angefordert . Vielleicht möchten Sie dieses Problem abonnieren, um eine Benachrichtigung zu erhalten, wenn es landet.integrity
Attribut (ich bin der Betreuer dieses Prüfers).Integrität - Definiert den Hashwert einer Ressource (wie eine Prüfsumme), die abgeglichen werden muss, damit der Browser sie ausführt. Der Hash stellt sicher, dass die Datei unverändert war und erwartete Daten enthält. Auf diese Weise lädt der Browser keine unterschiedlichen (z. B. böswilligen) Ressourcen. Stellen Sie sich eine Situation vor, in der Ihre JavaScript-Dateien auf dem CDN gehackt wurden und es keine Möglichkeit gab, dies zu wissen. Das Integritätsattribut verhindert das Laden von Inhalten, die nicht übereinstimmen.
Ungültige SRI werden blockiert (Chrome Developer-Tools), unabhängig von der Herkunft. Unterhalb des NON-CORS-Falls, wenn das Integritätsattribut nicht übereinstimmt:
Die Integrität kann berechnet werden unter: https://www.srihash.org/ Oder durch Eingabe in die Konsole ( Link ):
crossorigin - Definiert Optionen, die verwendet werden, wenn die Ressource von einem Server auf einem anderen Ursprung geladen wird. (Siehe CORS (Cross-Origin Resource Sharing) hier: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS ). Es ändert effektiv die vom Browser gesendeten HTTP-Anforderungen. Wenn das Attribut "crossorigin" hinzugefügt wird, wird das Schlüssel-Wert-Paar origin: <ORIGIN> zur HTTP-Anforderung hinzugefügt, wie unten gezeigt.
crossorigin kann entweder auf "anonym" oder "Anmeldeinformationen" gesetzt werden. Beides führt zum Hinzufügen von origin: zur Anforderung. Letzteres stellt jedoch sicher, dass die Anmeldeinformationen überprüft werden. Kein Crossorigin-Attribut im Tag führt zum Senden einer Anforderung ohne Ursprung: Schlüssel-Wert-Paar.
Hier ist ein Fall, in dem "Use-Credentials" von CDN angefordert werden:
Ein Browser kann die Anforderung abbrechen, wenn Crossorigin falsch eingestellt ist.
Links
- https://www.w3.org/TR/cors/
- https://tools.ietf.org/html/rfc6454
- https://developer.mozilla.org/en-US/docs/Web/HTML / Element / Link
Blogs
- https://frederik-braun.com/using-subresource-integrity.html
- https://web-security.guru/en/web-security/subresource-integrity
quelle
Technisch hilft das Integrity-Attribut dabei - es ermöglicht die ordnungsgemäße Überprüfung der Datenquelle. Das heißt, der Browser kann lediglich die Nummern in der richtigen Quelldatei mit den Beträgen überprüfen, die von der Quelldatei auf dem CDN-Server angefordert werden.
Wenn der festgelegte verschlüsselte Hashwert dieser Quelle und die überprüfte Übereinstimmung mit einem vordefinierten Wert im Browser etwas tiefer gehen, wird der Code ausgeführt und die Benutzeranforderung wird erfolgreich verarbeitet.
Das Crossorigin-Attribut hilft Entwicklern dabei, die CDN-Leistung zu optimieren und gleichzeitig den Website-Code vor schädlichen Skripten zu schützen.
Insbesondere lädt Crossorigin den Programmcode der Site im anonymen Modus herunter, ohne Cookies herunterzuladen oder den Authentifizierungsvorgang durchzuführen. Auf diese Weise wird verhindert, dass Benutzerdaten verloren gehen, wenn Sie die Site zum ersten Mal auf einen bestimmten CDN-Server laden. Diese Netzwerkbetrüger können Adressen problemlos ersetzen.
Quelle: https://yon.fun/what-is-link-integrity-and-crossorigin/
quelle