winjs-plugin-security
Un plugin qui fournit des fonctionnalités de sécurité renforcées pour les projets WinJS, principalement utilisé pour générer des attributs SRI (Subresource Integrity).
Fonctionnalités
- Génération automatique d'attributs SRI pour les balises
etdans les fichiers HTML - Prise en charge des algorithmes de hachage SHA-256, SHA-384, SHA-512 (configurables)
- Ajout automatique de l'attribut
crossorigin="anonymous"pour garantir le bon fonctionnement du SRI - N'est actif qu'en environnement de production, ignoré automatiquement en environnement de développement
Installation
pnpm add @winner-fed/plugin-security
Méthode d'utilisation
Ajoutez la configuration du plugin dans votre fichier de configuration .winrc.ts :
import { defineConfig } from '@winner-fed/winjs';export default defineConfig({
plugins: ['@winner-fed/plugin-security'],
security: {
sri: true // 启用 SRI 功能
},
});
Options de configuration
sri
- Type :
boolean | { algorithm: 'sha256' | 'sha384' | 'sha512' } - Valeur par défaut : doit être définie manuellement
- Description : Active ou non la fonctionnalité SRI (Subresource Integrity) et permet de configurer l’algorithme de hachage en option
true ou {}, le plugin va :- Scanner les fichiers HTML générés après la compilation
- Ajouter l’attribut
integrityà toutes les balisesayant un attributsrc - Ajouter l’attribut
integrityà toutes les balisesayant un attributhref - Ajouter automatiquement l’attribut
crossorigin="anonymous"(s’il n’existe pas)
security: {
sri: {
algorithm: 'sha512' // 可选 'sha256' | 'sha384' | 'sha512',默认 'sha512'
}
}示例
输入 HTML
Sortie HTML (après activation de SRI)
Consignes de sécurité
SRI (Intégrité des sous-ressources) est une fonctionnalité de sécurité qui permet au navigateur de vérifier que les ressources récupérées (par exemple celles provenant d'un CDN) n'ont pas été modifiées de manière malveillante. Lorsque le navigateur charge une ressource, il calcule la valeur de hachage de celle-ci et la compare avec la valeur de hachage spécifiée dans l'attribut integrity. Si les valeurs de hachage ne correspondent pas, le navigateur refusera de charger cette ressource.
Pour les balises , cela signifie que le code contenu ne sera pas exécuté ; pour les liens CSS, cela signifie que les styles ne seront pas chargés.
Pour plus d'informations sur SRI, vous pouvez consulter Intégrité des sous-ressources - MDN.
Remarques
- Ce plugin n'est effectif que lors de la construction en production, il sera automatiquement ignoré en environnement de développement
- Il faut s'assurer que les fichiers de ressources soient accessibles dans le répertoire de sortie de la construction
- L'attribut
integritydoit être utilisé conjointement avec l'attributcrossoriginpour fonctionner correctement
Licence
MIT
--- Tranlated By Open Ai Tx | Last indexed: 2025-08-06 ---