للحماية من الهجمات، يحتاج مطوّر البرامج إلى تقليل الثغرات الأمنية وإضافة ميزات الأمان إلى أحد التطبيقات. لحسن الحظ، يوفر المتصفح على الويب العديد من ميزات الأمان. ويمكن للمطوّرين الموافقة على بعضها، ويتم تفعيل البعض الآخر تلقائيًا لحماية المستخدمين.
فكرة "وضع الحماية"
![المتصفح كوضع الحماية](https://web.developers.google.cn/static/articles/browser-sandbox/image/browser-a-sandbox.png?authuser=5&hl=ar)
تم تصميم متصفحات الويب الحديثة على أساس "وضع الحماية". وضع الحماية هو آلية أمان تستخدم لتشغيل تطبيق في بيئة مقيدة. تمامًا مثل وضع الحماية المادي في الملعب حيث يمكن للأطفال إنشاء أي شيء يريدون داخل الحدود دون إحداث فوضى في مكان آخر، يتمتع رمز التطبيق بحرية التنفيذ في بيئة محظورة. على سبيل المثال، يمكن لـ JavaScript إضافة عناصر وتعديلها على الصفحة ولكن قد يتم حظر الوصول إلى ملف JSON خارجي. والسبب في ذلك هو ميزة في وضع الحماية تُسمى المصدر نفسه
لماذا يُعدّ وضع الحماية ضروريًا؟
ينزّل مستخدمو الويب يوميًا رمزًا عشوائيًا وينفّذه على جهاز الكمبيوتر أو الهاتف عدة مرات. إذا قال لك أحدهم "مرحبًا! قم بتنزيل هذا التطبيق وتشغيله!"، وقد تتوقف مؤقتًا لتفكر ما إذا كان هذا التطبيق مصدره موثوقًا به، أو تقرأ عن مورد التطبيق، أو تحقق من المراجعات بعناية. ماذا يحدث عندما يرسل إليك شخص ما عنوان URL يقول "اطّلع على مشاركة المدونة هذه"؟ من المحتمل أن تنقر عليه بدون طرح أسئلة مثل "ما نوع JavaScript الذي سينزّله هذا الموقع؟"
وضع الحماية في المتصفح هو الميزة الرئيسية التي تجعل تصفح الويب سهلاً من خلال جعل تشغيل الرموز العشوائية أكثر أمانًا.
جعلها آمنة من خلال التصميم
إذا كان المتصفح يضع وضع الحماية لكل تطبيق من تطبيقات الويب، فهل يجب علينا الحفاظ على الأمان؟ بالطبع نعم!
أولاً، ميزات وضع الحماية ليست الحماية المثالية. وعلى الرغم من اجتهاد مهندسي المتصفّحات، قد تحتوي المتصفّحات على ثغرات أمنية، ويحاول المهاجمون دائمًا تجاوز وضع الحماية (كما هو الحال مع حدث Spectre Attack).
قد يعترض وضع الحماية في بعض الأحيان طريقة إنشاء تجربة ويب رائعة. على سبيل المثال، قد يحظر المتصفّح طلب جلب صورة مستضافة على نطاق مختلف. يمكنك مشاركة الموارد في نطاقات مختلفة من خلال تفعيل مشاركة الموارد المتعدّدة المصادر (CORS)، ولكن إذا لم يتم ذلك بعناية، يمكنك عرض مورد لجميع المستخدمين الآخرين على الويب، ما يؤدي في الأساس إلى التراجع عن وضع الحماية.
الخاتمة
ولا يمكن الحصول على تجربة ويب آمنة إلا إذا تم تعزيز الأمان في تصميم التطبيق، وكان التصميم القوي يبدأ بفهم الميزات الحالية. يشرح الدليلان التاليان بالتفصيل سياسة CORS وسياسة المصدر نفسه.