0 تصويتات
في تصنيف المواقع والتطوير بواسطة مجهول
ما هو Subresource Integrity (SRI)؟

1 إجابة واحدة

0 تصويتات
بواسطة admin6 (576ألف نقاط)

ما هو Subresource Integrity (SRI)؟


Subresource Integrity أو ما يُعرف اختصارًا بـ SRI هو ميزة أمان تُستخدم في صفحات الويب لضمان أن الموارد الخارجية التي يتم تحميلها، مثل ملفات جافاسكريبت أو CSS، لم تتغير أو تتلاعب بها جهة خارجية. ببساطة، هو آلية للتحقق من صحة المورد قبل تحميله وتنفيذه في المتصفح.

كيف يعمل Subresource Integrity؟


تعتمد تقنية SRI على مقارنة "هاش" أو تجزئة مشفرة (digest) لمحتوى المورد الخارجي مع تجزئة مُقدمة في صفحة الويب. عند تحميل ملف مثل سكربت جافاسكريبت من سيرفر خارجي مثل CDN، يقوم المتصفح بحساب تجزئة الملف الذي تم تحميله ثم يقارنها بالتجزئة الموجودة في الكود الخاص بصفحة الويب.


إذا كانت التجزئتان متطابقتين، فهذا يعني أن الملف لم يتغير أو يتعرض للاختراق، ويُسمح بتحميله وتنفيذه. أما إذا لم يتطابق الهاش، فإن المتصفح يمنع تحميل المورد، مما يقي المستخدمين من تنفيذ تعليمات خبيثة قد تُضاف إلى هذا النوع من الملفات.

لماذا يعتبر SRI مهمًا للأمان؟


مواقع الويب الحديثة تعتمد بشكل كبير على مكتبات وأطر عمل خارجية مُستضافة على خدمات CDN أو خوادم خارجية. هذا يسرع تحميل المواقع ويحسن تجربة المستخدم، لكنه أيضًا يعرض الموقع لخطر تحميل موارد غير آمنة في حال تعرضت هذه الموارد للاختراق أو التبديل من قبل جهة خبيثة.


بفضل SRI، يمكن لمطوري الويب التأكد من أن كل مورد خارجي يتم تحميله آمن تمامًا ولم يتم التلاعب به، مما يزيد من حماية الموقع والمستخدم على حد سواء.

كيفية استخدام Subresource Integrity؟


لإضافة SRI إلى صفحة الويب، يحتاج المطور إلى توليد التجزئة (عادة باستخدام SHA-256 أو SHA-384 أو SHA-512) للملف الذي يرغب بتحميله. ثم يتم وضع هذه القيمة ضمن خاصية integrity في وسم <script> أو <link> الخاص بتضمين المورد.


على سبيل المثال:


<script src="https://example.com/script.js" integrity="sha384-abc123..." crossorigin="anonymous"></script>


الخاصية crossorigin تستخدم لضبط سياسة الكروس أويرجن بحيث يسمح المتصفح بإجراء التحقق بشكل صحيح في حالات تحميل الموارد من دومين مختلف.

نصائح مهمة عند استخدام SRI


عند تحديث الموارد الخارجية يجب إعادة توليد قيمة التجزئة وتحديثها في صفحة الويب، لأن أي تغيير حتى في حرف واحد يؤدي إلى فشل التحقق. كما أن SRI لا يغني عن استخدام HTTPS ويجب دائمًا تأمين اتصال الموقع لضمان النقل المشفر للبيانات.


أيضًا، يجب الانتباه أن بعض الخدمات التي تقدم ملفات ديناميكية قد يصعب تطبيق SRI معها بسبب التغييرات المستمرة في الملفات.

مرحبًا بك في موقع اسألني، منصة عربية متخصصة في طرح الأسئلة والإجابة عليها. يمكنك بسهولة طرح أي سؤال يدور في ذهنك، وسيقوم مجتمع المستخدمين بمساعدتك من خلال تقديم إجابات مفيدة ومعلومات قيّمة في مختلف المجالات.
...