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 ---