Subresource Integrity (SRI) คืออะไร?
Subresource Integrity (SRI) เป็นฟีเจอร์ความปลอดภัยที่ช่วยให้เบราว์เซอร์สามารถตรวจสอบได้ว่าไฟล์ที่พวกเขาดาวน์โหลด (เช่น จาก CDN) ไม่ได้ถูกแก้ไขโดยไม่คาดคิด มันทำงานโดยการเปรียบเทียบแฮชเข้ารหัสของทรัพยากรกับแฮชที่ให้ไว้ใน HTML
วิธีการทำงาน:
- สร้างแฮชเข้ารหัสของไฟล์ทรัพยากรของคุณ
- รวมแฮชไว้ในแอตทริบิวต์ integrity ของแท็ก script หรือ link
- เบราว์เซอร์ดึงทรัพยากรและคำนวณแฮชของมัน
- เบราว์เซอร์เปรียบเทียบแฮชที่คำนวณได้กับแฮชที่ให้ไว้
- หากแฮชตรงกัน ทรัพยากรจะโหลด หากไม่ การโหลดจะถูกบล็อก
ประโยชน์:
- ความปลอดภัย: ป้องกันการแก้ไขที่เป็นอันตรายของทรัพยากรบุคคลที่สาม
- การป้องกัน CDN: รับประกันว่าไฟล์ที่เสิร์ฟโดย CDN ไม่ได้ถูกจัดการ
- ความปลอดภัยของห่วงโซ่อุปทาน: ตรวจสอบความสมบูรณ์ของการพึ่งพาภายนอก
- การสนับสนุนเบราว์เซอร์: ได้รับการสนับสนุนอย่างกว้างขวางในเบราว์เซอร์สมัยใหม่
อัลกอริทึมที่รองรับ:
- SHA-256 (ขั้นต่ำที่แนะนำ)
- SHA-384 (แนะนำ)
- SHA-512 (ความปลอดภัยสูงสุด)