winjs-plugin-security
Wtyczka zapewniająca rozszerzone bezpieczeństwo dla projektów WinJS, służąca głównie do generowania atrybutów SRI (Subresource Integrity).
Funkcje
- Automatyczne generowanie atrybutów SRI dla znaczników
iw plikach HTML - Obsługa algorytmów skrótu SHA-256, SHA-384, SHA-512 (konfigurowalne)
- Automatyczne dodawanie atrybutu
crossorigin="anonymous"w celu zapewnienia prawidłowego działania SRI - Działa tylko w środowisku produkcyjnym; w trybie deweloperskim automatycznie pomija działanie
Instalacja
pnpm add @winner-fed/plugin-security
Sposób użycia
Dodaj konfigurację wtyczki do swojego pliku konfiguracyjnego .winrc.ts:
import { defineConfig } from '@winner-fed/winjs';export default defineConfig({
plugins: ['@winner-fed/plugin-security'],
security: {
sri: true // 启用 SRI 功能
},
});
Opcje konfiguracyjne
sri
- Typ:
boolean | { algorithm: 'sha256' | 'sha384' | 'sha512' } - Wartość domyślna: wymaga ręcznego ustawienia
- Opis: Czy włączyć funkcję SRI (integralność podzasobów) oraz opcjonalnie skonfigurować algorytm haszujący
true lub {}, wtyczka wykona:- Skanowanie zbudowanych plików HTML
- Dodanie atrybutu
integritydo wszystkich tagówposiadających atrybutsrc - Dodanie atrybutu
integritydo wszystkich tagówposiadających atrybuthref - Automatyczne dodanie atrybutu
crossorigin="anonymous"(jeśli nie istnieje)
security: {
sri: {
algorithm: 'sha512' // 可选 'sha256' | 'sha384' | 'sha512',默认 'sha512'
}
}示例
输入 HTML
Wyjście HTML (po włączeniu SRI)
Informacje dotyczące bezpieczeństwa
SRI (Subresource Integrity – integralność podzasobów) to funkcja bezpieczeństwa, która pozwala przeglądarce zweryfikować, czy pobierany zasób (np. zasób pobierany z CDN) nie został złośliwie zmodyfikowany. Gdy przeglądarka ładuje zasób, oblicza jego wartość skrótu (hash) i porównuje ją z wartością określoną w atrybucie integrity. Jeśli wartości skrótu nie są zgodne, przeglądarka odmówi załadowania tego zasobu.
W przypadku tagu skutkuje to odmową wykonania kodu; w przypadku linków do CSS skutkuje to niezaładowaniem stylów.
Więcej informacji na temat SRI można znaleźć na stronie Subresource Integrity - MDN.
Uwagi
- Ta wtyczka działa tylko podczas budowania wersji produkcyjnej; środowisko deweloperskie jest automatycznie pomijane
- Należy upewnić się, że pliki zasobów są dostępne w katalogu wyjściowym po zbudowaniu
- Atrybut
integritymusi być używany razem z atrybutemcrossorigin, aby działał poprawnie
Licencja
MIT
--- Tranlated By Open Ai Tx | Last indexed: 2025-08-06 ---