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

Analyse der grundlegenden Verwendung von ul und li

Navigation, kleine Datenmenge Tabelle, zentriert &...

Abfrageprozess und Optimierungsmethode der (JOIN/ORDER BY)-Anweisung in MySQL

Die EXPLAIN-Anweisung wird im MySQL-Abfrageanweis...

Allgemeine Struktur-Tags in XHTML

Struktur Text, Kopf, HTML, Titel Text abbr, Akron...

Implementierungscode zur Installation von vsftpd in Ubuntu 18.04

Installieren Sie vsftpd $ sudo apt-get installier...

So stellen Sie DoNetCore mit Nginx in der Alibaba Cloud bereit

Grundlegende Umgebungskonfiguration Bitte kaufen ...

Natives JS zum Erzielen eines Schiebeknopfeffekts

Der spezifische Code des mit Js erstellten Schieb...

So zeigen Sie JSON-Daten in HTML an

Hintergrund: Manchmal müssen wir JSON-Daten direk...

Detaillierter Installationsprozess und Konfiguration von mysql5.7.19 zip

Offizielle Version von MySQL v5.7.19 (32/64-Bit-I...

Welcher Befehl eignet sich besser für die unscharfe Suche nach Dateien in Linux?

1. Einleitung In diesem Artikel wird hauptsächlic...