คุณสมบัติ integrity ใน HTML <script>

การกำหนดและการใช้งาน

integrity คุณสมบัตินี้อนุญาตให้บราวเซอร์ตรวจสอบสคริปต์ที่ได้รับมา เพื่อให้มั่นใจว่าไม่มีการแก้ไขในโค้ดต้นตองก่อนที่จะโหลดโค้ดนั้น

ความสมบูรณ์ของไฟล์ทางย่อย (Subresource Integrity, SRI) คือมาตราฐาน W3C ที่อนุญาตให้นักพัฒนาเว็บปลายทางใช้ประกันว่าทรัพยากรที่เก็บอยู่บนเซิร์ฟเวอร์บุคคลที่สามไม่ได้ถูกแก้ไข แนะนำให้ใช้ SRI!

เมื่อใช้ SRI วิธีนี้ หน้าเว็บจะบันทึกค่าฮาช บริการเซิร์ฟเวอร์จะบันทึกไฟล์ (ในตัวอย่างนี้เป็นไฟล์ .js) บราวเซอร์จะดาวน์โหลดไฟล์ แล้วตรวจสอบเพื่อให้มั่นใจว่า integrity ค่าฮาชในคุณสมบัติตรงกัน ถ้าตรงกันก็จะใช้ไฟล์นี้ ถ้าไม่ตรงกันก็จะหยุดไฟล์

คุณสามารถใช้เครื่องมือสร้างค่าซับซ้อน SRI ออนไลน์เพื่อสร้างค่าซับซ้อนความสมบูรณ์: สร้างซับซ้อน SRI

ตัวอย่าง

ใช้คุณสมบัติ integrity และ crossorigin พร้อมกันเพื่อลิงกับ CDN:

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous">
</script>

ระบุ

<script integrity="filehash">

ค่าของอุปกรณ์

ค่า คำอธิบาย
filehash ของมีทราบค่าซับซ้อนของไฟล์สคริปต์นอก

การสนับสนุนโปรแกรมบราวเซอร์

ตัวเลขในตารางนี้ระบุเวอร์ชั่นบราวเซอร์ที่สนับสนุนคุณสมบัตินี้อย่างเต็มที่

Chrome Edge Firefox Safari Opera
Chrome Edge Firefox Safari Opera
45.0 17.0 43.0 13.0 66.0