什麼是子資源完整性(SRI)?
子資源完整性(SRI)是一種安全功能,使瀏覽器能夠驗證它們獲取的檔案(例如來自 CDN)沒有被意外修改。它通過將資源的加密雜湊與 HTML 中提供的雜湊進行比較來工作。
工作原理:
- 生成資源檔案的加密雜湊
- 在 script 或 link 標籤的 integrity 屬性中包含雜湊
- 瀏覽器獲取資源並計算其雜湊
- 瀏覽器將計算的雜湊與提供的雜湊進行比較
- 如果雜湊匹配,資源載入;如果不匹配,載入被阻止
優勢:
- 安全性:防止第三方資源被惡意修改
- CDN 保護:確保 CDN 提供的檔案沒有被篡改
- 供應鏈安全:驗證外部依賴項的完整性
- 瀏覽器支持:在現代瀏覽器中廣泛支持
支持的演算法:
- SHA-256(推薦最低)
- SHA-384(推薦)
- SHA-512(最高安全性)