คุณสมบัติ 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 |