winjs-plugin-security
Ein Plugin zur Sicherheitsverbesserung für WinJS-Projekte, das hauptsächlich zur Generierung von SRI- (Subresource Integrity) Attributen dient.
Funktionsmerkmale
- Automatische Generierung von SRI-Attributen für
- und-Tags in HTML-Dateien - Unterstützung der Hash-Algorithmen SHA-256, SHA-384 und SHA-512 (konfigurierbar)
- Automatisches Hinzufügen des Attributes
crossorigin="anonymous"zur Sicherstellung der ordnungsgemäßen Funktion von SRI - Wirkt nur in Produktionsumgebungen, in Entwicklungsumgebungen wird automatisch übersprungen
Installation
pnpm add @winner-fed/plugin-security
Verwendung
Fügen Sie die Plugin-Konfiguration in Ihre .winrc.ts Konfigurationsdatei ein:
import { defineConfig } from '@winner-fed/winjs';export default defineConfig({
plugins: ['@winner-fed/plugin-security'],
security: {
sri: true // 启用 SRI 功能
},
});
Konfigurationsoptionen
sri
- Typ:
boolean | { algorithm: 'sha256' | 'sha384' | 'sha512' } - Standardwert: Muss manuell gesetzt werden
- Beschreibung: Aktiviert die SRI-Funktion (Subresource Integrity) und ermöglicht eine optionale Konfiguration des Hash-Algorithmus
true oder {} gesetzt, führt das Plugin folgende Schritte aus:- Scannt die nach dem Build erstellten HTML-Dateien
- Fügt allen
-Tags mitsrc-Attribut dasintegrity-Attribut hinzu - Fügt allen
-Tags mithref-Attribut dasintegrity-Attribut hinzu - Fügt automatisch das Attribut
crossorigin="anonymous"hinzu (falls nicht vorhanden)
security: {
sri: {
algorithm: 'sha512' // 可选 'sha256' | 'sha384' | 'sha512',默认 'sha512'
}
}示例
输入 HTML
Ausgabe von HTML (nach Aktivierung von SRI)
Sicherheitshinweise
SRI (Subresource Integrity) ist eine Sicherheitsfunktion, die es dem Browser ermöglicht zu überprüfen, ob abgerufene Ressourcen (z. B. von einem CDN) nicht böswillig verändert wurden. Beim Laden der Ressource berechnet der Browser den Hashwert der Ressource und vergleicht ihn mit dem im integrity-Attribut angegebenen Hashwert. Wenn die Hashwerte nicht übereinstimmen, verweigert der Browser das Laden dieser Ressource.
Für -Tags bedeutet dies, dass der darin enthaltene Code nicht ausgeführt wird; für CSS-Links werden die darin enthaltenen Styles nicht geladen.
Weitere Informationen zu SRI finden Sie unter Subresource Integrity - MDN.
Hinweise
- Dieses Plugin ist nur beim Produktions-Build wirksam, die Entwicklungsumgebung wird automatisch übersprungen
- Es muss sichergestellt werden, dass die Ressourcendateien im Build-Ausgabeverzeichnis zugänglich sind
- Das
integrity-Attribut muss zusammen mit demcrossorigin-Attribut verwendet werden, um ordnungsgemäß zu funktionieren
Lizenz
MIT
--- Tranlated By Open Ai Tx | Last indexed: 2025-08-06 ---