Search
Close this search box.
เพิ่มความปลอดภัยให้ไฟล์ Libraries จาก CDN ด้วย SRI

เพิ่มความปลอดภัยให้ไฟล์จาก CDN ด้วย Subresource Integrity (SRI)

Last updated on 2 months ago,
1 mins read

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

Subresource Integrity (SRI) คืออะไร?

Subresource Integrity (SRI) เป็นเทคนิคที่ใช้ในการตรวจสอบความถูกต้องของไฟล์ที่โหลดจากแหล่งภายนอก เช่น CDN โดยการใช้แฮช (hash) ในการตรวจสอบว่าไฟล์ที่ได้รับมาตรงกับไฟล์ต้นฉบับหรือไม่ หากไฟล์ถูกแก้ไขหรือปลอมแปลงในระหว่างทาง แฮชของไฟล์นั้นจะไม่ตรงกับแฮชที่ถูกกำหนดไว้ในโค้ดของเรา และไฟล์จะไม่ถูกโหลด ทำให้การโจมตีที่มุ่งเป้าหมายไปที่การแทรกโค้ดที่เป็นอันตรายถูกป้องกันได้อย่างมีประสิทธิภาพ

การทำงานของ Subresource Integrity (SRI)

การทำงานของ SRI นั้นเริ่มต้นจากการสร้างแฮชจากไฟล์ต้นฉบับ เมื่อคุณรวมไฟล์ภายนอกเข้ากับเว็บไซต์ของคุณ เช่น ไฟล์ JavaScript หรือ CSS จาก CDN เราจะเพิ่มค่าแฮชลงในแท็ก <script> หรือ <link> ของไฟล์นั้นๆ จากนั้น เบราว์เซอร์จะตรวจสอบว่าแฮชของไฟล์ที่ได้รับมาตรงกับแฮชที่ระบุไว้ในโค้ดหรือไม่ หากไม่ตรงกัน ไฟล์จะไม่ถูกโหลด

ตัวอย่างการใช้ SRI ในการโหลดไฟล์ JavaScript จาก CDN:

<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-0pUGZvbkm6XF6gxjEnlmuGrJXVbNuzT9qBBavbLwCsOGabYfZo0T0to5eqruptLy" crossorigin="anonymous"></script>Code language: HTML, XML (xml)

ประโยชน์ของการใช้ Subresource Integrity (SRI)

ป้องกันการปลอมแปลงไฟล์

SRI ช่วยให้มั่นใจได้ว่าไฟล์ที่เราโหลดจากแหล่งภายนอกยังคงไม่ถูกแก้ไข หรือแทรกโค้ดที่เป็นอันตราย ทำให้ผู้ใช้เว็บไซต์ของเราปลอดภัยจากการโจมตีที่มุ่งเป้าหมายไปยังไฟล์เหล่านี้

เพิ่มความน่าเชื่อถือของเว็บไซต์

การใช้ SRI แสดงให้เห็นว่าคุณใส่ใจเรื่องความปลอดภัยของเว็บไซต์และผู้ใช้ของคุณ ทำให้เว็บไซต์ของคุณดูน่าเชื่อถือมากขึ้น

ปกป้องจากการโจมตีแบบ Man-in-the-Middle

SRI ป้องกันการโจมตีที่ผู้โจมตีสามารถแก้ไขไฟล์ระหว่างทางก่อนที่จะมาถึงผู้ใช้ โดยการตรวจสอบแฮชของไฟล์เมื่อไฟล์ถูกโหลดมาจากแหล่งภายนอก

วิธีการใช้งาน Subresource Integrity (SRI)

การสร้างแฮชสำหรับไฟล์ SRI

เราสามารถสร้าง SRI Hash ได้ง่ายๆ เพียงเข้าไปที่เว็บไซต์ https://www.srihash.org และนำ Url ของ Libraries ที่ต้องการไปใส่ จากนั้นก็นำโค้ดไปใช้งานได้เลย แต่เอาจริงๆ CDN ที่ให้บริการ Hosted Libraries ส่วนใหญ่ก็จะมาพร้อมกับ SRI อยู่แล้ว

การใช้งาน SRI ร่วมกับ crossorigin

ในการใช้ SRI เราควรใช้ crossorigin="anonymous" attribute ร่วมด้วย เพื่อให้แน่ใจว่าไฟล์ที่ถูกโหลดมาจะถูกตรวจสอบความสมบูรณ์ได้อย่างถูกต้อง

ข้อจำกัด และข้อควรระวังในการใช้ Subresource Integrity (SRI)

การจัดการกับการอัปเดตเวอร์ชันไฟล์

หากไฟล์ที่เราใช้งานมีการอัปเดตเวอร์ชันใหม่ แฮชของไฟล์นั้นจะเปลี่ยนไป ทำให้ SRI ไม่สามารถยืนยันความถูกต้องของไฟล์ได้ เราจึงต้องสร้างแฮชใหม่ และอัปเดตในโค้ดของเราทุกครั้งที่มีการเปลี่ยนแปลงเวอร์ชันไฟล์

ข้อจำกัดของเบราว์เซอร์

แม้ว่า SRI จะรองรับในเบราว์เซอร์หลักๆ แต่บางเบราว์เซอร์รุ่นเก่าอาจไม่รองรับ เราควรตรวจสอบความเข้ากันได้ก่อนใช้งาน

การใช้แฮชที่ถูกต้อง

ความถูกต้องของแฮชเป็นสิ่งสำคัญ หากเราใช้แฮชที่ไม่ถูกต้อง ไฟล์จะไม่ถูกโหลด เราจึงต้องมั่นใจว่าแฮชที่เราใช้ถูกต้อง และตรงกับไฟล์ต้นฉบับ

สรุป

Subresource Integrity (SRI) เป็นเทคนิคที่มีประสิทธิภาพในการปกป้องเว็บไซต์ของเราจากการปลอมแปลงไฟล์ที่โหลดจากแหล่งภายนอก การนำ SRI มาใช้ในเว็บไซต์ของเราจะช่วยเพิ่มความปลอดภัย และความน่าเชื่อถือให้กับเว็บไซต์ของเราอย่างมาก

แหล่งอ้างอิง:

Tagged with:
ผู้เขียน
Danai Phianphutthikorn
Founder, Writer, Designer, Videography, YouTuber

บทความที่เกี่ยวข้อง

แนะนำเครื่องมือลดขนาดรูปภาพออนไลน์ ใช้งานได้ฟรี ที่นักออกแบบเว็บไซต์ และนักเขียนควรรู้ เราไปดูกันครับว่ามีเครื่องมืออะไรน่าสนใจกันบ้าง
Last Updated on 2 months ago
สำหรับเพื่อนๆ ที่กำลังมองหา Code Editor อยู่แล้วละก็ ต้องไม่พลาดบทความนี้ครับ เพราะผมได้รวบรวม Code Editor ยอดนิยมมาฝากเพื่อนๆ กัน แถมใช้ได้ฟรีอีกต่างหาก
Last Updated on 2 months ago
มาทำความรู้จักกับ ads.txt เครื่องมือตรวจสอบ และป้องกันการถูกปลอมแปลงข้อมูล ที่จะช่วยให้เราไม่เสียรายได้ไปจาก Ad Fraud หรือการโกงโฆษณาครับ
Last Updated on 2 months ago
รู้หรือไม่ว่า CDN สามารถทำให้เว็บไซต์ของคุณโหลดเร็วขึ้น และปลอดภัยยิ่งขึ้นได้? มาดูกันว่า CDN คืออะไร มีประโยชน์อย่างไร?
Last Updated on 2 months ago
เขียน CSS ให้อ่านโค้ดได้ง่าย ลดความซ้ำซ้อนของโค้ดด้วย BEM CSS มาตรฐานการเขียน CSS ที่ช่วยให้โค้ดเป็นระเบียบ เข้าใจง่าย เหมาะสำหรับนักพัฒนาเว็บไซต์
Last Updated on 2 months ago
ทำความรู้จักกับ Error Code ที่พบบ่อยบนเว็บไซต์ พร้อมวิธีแก้ไขเบื้องต้น เพื่อช่วยให้เว็บไซต์ของเราทำงานได้ราบรื่นและเพิ่มประสบการณ์การใช้งานที่ดีให้กับผู้ใช้
Last Updated on 2 months ago