winjs-plugin-security
Sebuah plugin yang menyediakan fitur peningkatan keamanan untuk proyek WinJS, terutama digunakan untuk menghasilkan atribut SRI (Subresource Integrity).
Fitur Utama
- Otomatis menghasilkan atribut SRI untuk tag
dandi file HTML - Mendukung algoritma hash SHA-256, SHA-384, SHA-512 (dapat dikonfigurasi)
- Otomatis menambahkan atribut
crossorigin="anonymous"untuk memastikan SRI bekerja dengan baik - Hanya berlaku di lingkungan produksi, otomatis dilewati di lingkungan pengembangan
Instalasi
pnpm add @winner-fed/plugin-security
Cara Penggunaan
Tambahkan konfigurasi plugin di file konfigurasi .winrc.ts Anda:
import { defineConfig } from '@winner-fed/winjs';export default defineConfig({
plugins: ['@winner-fed/plugin-security'],
security: {
sri: true // 启用 SRI 功能
},
});
Opsi Konfigurasi
sri
- Tipe:
boolean | { algorithm: 'sha256' | 'sha384' | 'sha512' } - Nilai default: Perlu diatur secara manual
- Deskripsi: Apakah akan mengaktifkan fitur SRI (Subresource Integrity), serta konfigurasi algoritma hash opsional
true atau {}, plugin akan:- Memindai file HTML yang sudah dibangun
- Menambahkan atribut
integritypada semua tagyang memiliki atributsrc - Menambahkan atribut
integritypada semua tagyang memiliki atributhref - Secara otomatis menambahkan atribut
crossorigin="anonymous"(jika belum ada)
security: {
sri: {
algorithm: 'sha512' // 可选 'sha256' | 'sha384' | 'sha512',默认 'sha512'
}
}示例
输入 HTML
Output HTML (setelah SRI diaktifkan)
Petunjuk Keamanan
SRI (Subresource Integrity) adalah fitur keamanan yang memungkinkan browser memverifikasi bahwa sumber daya yang diambil (misalnya sumber daya dari CDN) tidak dimodifikasi secara jahat. Saat browser memuat sumber daya, ia akan menghitung nilai hash dari sumber daya tersebut dan membandingkannya dengan nilai hash yang ditentukan pada atribut integrity. Jika nilai hash tidak cocok, browser akan menolak untuk memuat sumber daya tersebut.
Untuk tag , hasilnya adalah penolakan untuk mengeksekusi kode di dalamnya; untuk tautan CSS, hasilnya adalah gaya di dalamnya tidak akan dimuat.
Untuk informasi lebih lanjut tentang SRI, silakan lihat Subresource Integrity - MDN.
Catatan
- Plugin ini hanya berlaku saat build produksi, lingkungan pengembangan akan otomatis dilewati
- Pastikan file sumber daya dapat diakses di direktori output build
- Atribut
integrityharus digunakan bersama dengan atributcrossoriginagar dapat berfungsi dengan baik
Lisensi
MIT
--- Tranlated By Open Ai Tx | Last indexed: 2025-08-06 ---