winjs-plugin-security
WinJS 프로젝트에 보안 강화 기능을 제공하는 플러그인으로, 주로 SRI(Subresource Integrity) 속성 생성을 지원합니다.
기능 특성
- HTML 파일의
및태그에 대해 SRI 속성을 자동 생성 - SHA-256, SHA-384, SHA-512 해시 알고리즘 지원(설정 가능)
- SRI가 정상 동작하도록
crossorigin="anonymous"속성 자동 추가 - 프로덕션 환경에서만 활성화, 개발 환경에서는 자동으로 건너뜀
설치
pnpm add @winner-fed/plugin-security
사용 방법
당신의 .winrc.ts 구성 파일에 플러그인 구성을 추가하세요:
import { defineConfig } from '@winner-fed/winjs';export default defineConfig({
plugins: ['@winner-fed/plugin-security'],
security: {
sri: true // 启用 SRI 功能
},
});
구성 옵션
sri
- 유형:
boolean | { algorithm: 'sha256' | 'sha384' | 'sha512' } - 기본값: 수동 설정 필요
- 설명: SRI(서브리소스 무결성) 기능 활성화 여부 및 선택적 해시 알고리즘 설정
true 또는 {}로 설정하면, 플러그인은:- 빌드된 HTML 파일을 스캔합니다
src속성이 있는 모든태그에integrity속성을 추가합니다href속성이 있는 모든태그에integrity속성을 추가합니다crossorigin="anonymous"속성이 없으면 자동으로 추가합니다
security: {
sri: {
algorithm: 'sha512' // 可选 'sha256' | 'sha384' | 'sha512',默认 'sha512'
}
}示例
输入 HTML
HTML 출력 (SRI 활성화 후)
안전 설명
SRI(서브리소스 무결성)는 브라우저가 가져온 리소스(예: CDN에서 가져온 리소스)가 악의적으로 변경되지 않았는지 검증할 수 있게 하는 보안 기능입니다. 브라우저가 리소스를 로드할 때 리소스의 해시 값을 계산하고 integrity 속성에 지정된 해시 값과 비교합니다. 해시 값이 일치하지 않으면 브라우저는 해당 리소스의 로드를 거부합니다.
태그의 경우, 해당 코드 실행을 거부하며; CSS 링크의 경우, 스타일 로드를 하지 않습니다.
SRI에 대한 자세한 내용은 Subresource Integrity - MDN을 참조하세요.
주의 사항
- 이 플러그인은 프로덕션 빌드에서만 작동하며, 개발 환경에서는 자동으로 건너뜁니다.
- 리소스 파일이 빌드 출력 디렉터리에서 접근 가능해야 합니다.
integrity속성은 정상 작동을 위해crossorigin속성과 함께 사용해야 합니다.
라이선스
MIT
--- Tranlated By Open Ai Tx | Last indexed: 2025-08-06 ---