Javascript verwendet das Integritätsattribut zur Sicherheitsüberprüfung

Javascript verwendet das Integritätsattribut zur Sicherheitsüberprüfung

1. Dateien mit Skript-Tags importieren

In html kann script Tag eine JS-Datei über das src Attribut importieren. Die importierte JS-Datei kann lokal oder remote sein.

1. Lokale Dateien importieren

Die Entwicklungsumgebung führt im Allgemeinen lokale js Dateien ein.

<script src="./js/index.js"></script>


2. Remote-Dateien importieren

Nach der Online-Bereitstellung wird es im Allgemeinen an cdn verteilt, und Remotedateien müssen eingeführt werden.

Wie zum Beispiel:

<script src="https://cdn.xxx.xx/js/index.js"></script>


Bei der Einführung von Remotedateien gibt es jedoch ein Problem. Wenn die entsprechenden Dateien manipuliert werden, kann dies Auswirkungen auf die Benutzer haben. Obwohl cdn im Allgemeinen zuverlässig sind, können Hackerangriffe nicht ausgeschlossen werden.

In diesem Fall kann die Sicherheitsüberprüfung über das integrity script Tags durchgeführt werden.

2. Integritätssicherheitsüberprüfung

integrity Integritätsattribut legt hash der importierten js Datei fest. Wenn der Browser die js Datei herunterlädt, führt er eine hash Berechnung für die js Datei durch. Wenn sie konsistent sind, wird sie normal geladen, andernfalls wird das Laden und Ausführen verweigert.

Wie zum Beispiel:

<Skript
    Integrität="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
    src="https://cdn.xxx.xx/js/index.js"></script>

1. Importieren Sie die CDN-Ressourcen von Vue

Als Beispiel möchten wir die CDN-Ressourcen von Vue vorstellen:

https://unpkg.com/[email protected]/dist/vue.global.js

Sie können den Hash-Wert über https://www.srihash.org/ generieren.

Integrität erzeugt Hashwert:

Fügen Sie abschließend dem Skript-Tag den integrity hinzu.

<script src="https://unpkg.com/[email protected]/dist/vue.global.js"
    Integrität="sha384-0k9//QJdpmfSdp5IK3oJjOYPfz42f2FE0goMLtK9Vq7aKllvc4Lnz7lHPHiFhvDP"
    crossorigin="anonym">
</Skript>

2. Überprüfen Sie, ob es normal ist

Da es sich bei der importierten Ressource um eine cdn Ressource handelt, kann sie nicht direkt geändert werden, aber integrity integrity geändert werden.

Schließlich meldet der Browser den folgenden Fehler:

Es konnte kein gültiger Digest im Attribut „Integrität“ für die Ressource „https://unpkg.com/[email protected]/dist/vue.global.js“ mit berechneter SHA-256-Integrität „Wr5PnkpmZ3oQFRZLfDrI6fsePSMak5h8rW2rqq+mdWg=“ gefunden werden. Die Ressource wurde blockiert.

Dies bedeutet, dass hash Hashwert der cdn Datei nicht integrity entspricht.

Dies ist das Ende dieses Artikels über die Verwendung des Integritätsattributs zur Sicherheitsüberprüfung in JavaScript. Weitere relevante Inhalte zur Skriptintegrität finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Neue Ideen zur Zeitformatierung in JavaScript toLocaleString()
  • isPrototypeOf-Funktion in JavaScript
  • Detaillierte Erklärung der JavaScript-Prototypenkette
  • JavaScript-Komposition und Vererbung erklärt
  • Detaillierte Erklärung der JS-Ereignisdelegation
  • nuxt.js Konfiguration mehrerer Umgebungsvariablen
  • Unterschiede und Anwendungsbeispiele von for, for...in, for...of und forEach in JS

<<:  Anwendung von Ankerpunkten in HTML

>>:  Welche Vorteile bietet die Verwendung von // anstelle von http:// (adaptives https)?

Artikel empfehlen

So sammeln Sie Nginx-Protokolle mit Filebeat

Mithilfe von Nginx-Protokollen lassen sich Benutz...

Zusammenfassung verschiedener Übermittlungsmethoden für HTML-Formulare

Die gebräuchlichste, am häufigsten verwendete und ...

Der Prozess der Installation und Konfiguration von Nginx in Win10

1. Einleitung Nginx ist ein kostenloser, quelloff...

Objektorientierte JavaScript-Implementierung eines Lupengehäuses

In diesem Artikel wird der spezifische Code der o...

So kaufen und installieren Sie Alibaba Cloud-Server

1. Kaufen Sie einen Server Im Beispiel handelt es...

Mehrere Möglichkeiten, die Lesbarkeit von Webseiten zu verbessern

1. Verwenden Sie kontrastierende Farben. Mit Kont...

Einige Fragen zu Hyperlinks

<br />Ich freue mich sehr, an dieser Folge d...

Beispiele für optimistisches und pessimistisches Sperren in MySQL

Die Aufgabe der Parallelitätskontrolle in einem D...

Eine kurze Diskussion über JS-Prototypen und Prototypenketten

Inhaltsverzeichnis 1. Prototyp 2. Prototypzeiger:...