winjs-plugin-security
Un complemento que proporciona funciones de mejora de seguridad para proyectos WinJS, utilizado principalmente para generar atributos SRI (Subresource Integrity).
Características
- Genera automáticamente atributos SRI para las etiquetas
yen archivos HTML - Soporta los algoritmos hash SHA-256, SHA-384 y SHA-512 (configurable)
- Añade automáticamente el atributo
crossorigin="anonymous"para garantizar el funcionamiento adecuado de SRI - Solo funciona en entorno de producción, en desarrollo se omite automáticamente
Instalación
pnpm add @winner-fed/plugin-security
Método de uso
Agrega la configuración del complemento en tu archivo de configuración .winrc.ts:
import { defineConfig } from '@winner-fed/winjs';export default defineConfig({
plugins: ['@winner-fed/plugin-security'],
security: {
sri: true // 启用 SRI 功能
},
});
Opciones de configuración
sri
- Tipo:
boolean | { algorithm: 'sha256' | 'sha384' | 'sha512' } - Valor por defecto: Requiere configuración manual
- Descripción: Indica si se habilita la función SRI (Integridad de Subrecursos) y permite configurar opcionalmente el algoritmo hash
true o {}, el complemento realizará:- Escanear los archivos HTML generados después de la compilación
- Añadir el atributo
integritya todas las etiquetasque tengan atributosrc - Añadir el atributo
integritya todas las etiquetasque tengan atributohref - Añadir automáticamente el atributo
crossorigin="anonymous"(si no existe)
security: {
sri: {
algorithm: 'sha512' // 可选 'sha256' | 'sha384' | 'sha512',默认 'sha512'
}
}示例
输入 HTML
Salida HTML (después de habilitar SRI)
Instrucciones de seguridad
SRI (Integridad de Subrecursos) es una característica de seguridad que permite al navegador verificar que los recursos obtenidos (por ejemplo, desde un CDN) no han sido modificados maliciosamente. Cuando el navegador carga un recurso, calcula el valor hash del recurso y lo compara con el valor hash especificado en el atributo integrity. Si los valores hash no coinciden, el navegador rechazará la carga de ese recurso.
Para la etiqueta , el resultado es que se rechaza la ejecución del código; para los enlaces de CSS, el resultado es que no se cargan los estilos.
Para obtener más información sobre SRI, puede consultar Subresource Integrity - MDN。
Advertencias
- Este plugin solo tiene efecto en la compilación de producción, el entorno de desarrollo se omite automáticamente
- Debe asegurarse de que los archivos de recursos sean accesibles en el directorio de salida de la compilación
- El atributo
integritydebe usarse junto con el atributocrossoriginpara funcionar correctamente
Licencia
MIT
--- Tranlated By Open Ai Tx | Last indexed: 2025-08-06 ---