أفضل نصائح الأمان للمطورين الـ "AngularJS"
يعتبر Angular هو الإطار الأكثر فاعلية لإنشاء هياكل البرمجة الديناميكية ،
والذي أنشأته Google لإعادة كتابة AngularJS .
الوحدات والمكونات والبيانات الوصفية والقوالب وربط البيانات والخدمات
والتوجيهات وحقن التبعية هي أجزاء البناء الأساسية في Angular.
يتميز بالعديد من الأنظمة الأساسية الداخلية التي يمكن استخدامها لإنشاء تطبيقات
ذات صفحة واحدة باستخدام HTML و CSS و Typescript.
لإنشاء تطبيقات Angular ، يتم استخدام Typescript ، وهو نص مرتفع لإطار عمل JavaScript.
يمكننا تطوير تطبيقات واجهة المستخدم التي تكون أكثر قوة وتوافقًا من خلال استخدام تقنية Angular.
أفضل نصائح الأمان لتطوير الـ AngularJS
1. منع البرمجة النصية عبر المواقع في برنامج (XSS)
يمنح XSS المهاجمين القدرة على إدراج تعليمات برمجية ضارة أو نص
برمجي من جانب العميل في صفحات الويب التي قد يراها مطورو Angular الآخرون.
غالبًا ما تحدث هجمات من هذا النوع من خلال سلاسل الاستعلام وحقول الإدخال ورؤوس الطلبات.
يجب علينا مطالبة المستخدم بإدخال رمز ضار من DOM من أجل منع هجمات XSS.
على سبيل المثال ، قد يقوم المهاجم بإدخال علامة برنامج نصي في حقل الإدخال ،
مما قد ينتج عنه محتوى للقراءة فقط.
عند إضافة القيم إلى DOM باستخدام سمة ، أو إقحام ، أو خاصية ، وما إلى ذلك ،
يعتبر Angular جميع البيانات افتراضيًا غير موثوق بها. قبل التصيير ،
فإنه يهرب ويصحح القيم. في Angular ، "BrowserModule" هو المكان الذي
يتم فيه تعريف الأمان المرتبط بـ XSS. يتم تنظيف الأجزاء غير الموثوق بها من
القيمة بمساعدة Angular's DomSanitizer.
2. استخدم InnerHTML بشكل تحذير
اربط إنتاج HTML للمكون بـ [innerHTML] إذا كنت بحاجة إلى إضافة HTML ديناميكيًا.
بحذف جميع العلامات غير الآمنة ، فإن هذا يضمن أن البيانات سيتم تفسيرها
على أنها HTML في سياقها وسيتم تعقيمها ، مما يمنع تنفيذ تعليمات برمجية ضارة عبر المواقع.
ضع في اعتبارك أن التعقيم يختلف عن الترميز في هذا الصدد.
يتم استبدال السلاسل بمكافئاتها النصية في ترميز الإخراج ، والذي يمكن
تعيينه لعلامات HTML معينة. يعد Angular معيارًا للعديد من المكتبات
والأطر الأخرى التي تتبع أفضل ممارسات الأمان ، ويمكنه اختيار عرض النص
عن طريق ترميزه باستخدام تدوين الأقواس الزاوية الخاصة إذا تمت معالجة إدخال ،
مثل البرنامج النصي. للقيام بذلك ، يقوم بتعيين ما يشار إليه بتشفير كيان
HTML ونشر النص النصي إلى DOM.
3. الحماية من XSS باستخدام ميزة تلوث معلمات HTTP (HPP) من Angular
مثال على هجوم الحقن هو هجوم XSS ، والذي يتضمن حقن تعليمات
برمجية ضارة في صفحة ويب. يتلقى أي مستخدم يجهل الصفحة بعد ذلك هذا الرمز ،
والذي يمكن استخدامه لسرقة البيانات الشخصية أو القيام بأعمال ضارة أخرى ، ويتم تشغيله في متصفحه.
من خلال تنظيف البيانات غير الموثوق بها ، تساعد حماية Angular's HPP في
الدفاع ضد هجمات XSS. لمنع المتصفح من تنفيذ أي أحرف يحتمل أن تكون ضارة ،
يتم تخطيها قبل وضعها في DOM.
سيؤدي تعيين سمة سياق أمان خدمة DomSanitizer إلى SecurityContext.HTML
إلى تمكين حماية HPP الخاصة بـ Angular.
4. لا تستخدم واجهات برمجة التطبيقات الزاويّة الخطرة
تجنب استخدام Angular APIs التي تم تحديدها على أنها "مخاطر أمنية" في الوثائق.
ElementRef هي واجهة برمجة التطبيقات الأكثر خطورة التي نستخدمها بشكل متكرر.
يسمح بالوصول المباشر إلى DOM ويمكن أن يزيد من مخاطر هجمات XSS على تطبيقك.
افحص بعناية أي حالات من ElementRef في التعليمات البرمجية الخاصة بك.
تعترض واجهة برمجة تطبيقات الويب داخل الذاكرة مثل هذه المكالمات ،
وتطبقها على مخزن بيانات في الذاكرة ، وتعيد إجابات محاكية دون أن يكون التطبيق على علم بذلك.
عندما يكون الوصول المباشر إلى DOM مطلوبًا ، استخدم واجهة برمجة
التطبيقات هذه فقط كخيار أخير. بدلاً من ذلك ، استخدم ميزات ربط البيانات والقوالب الخاصة بـ Angular.
كبديل ، قد ترغب في التحقق من Renderer2 ، والذي يوفر واجهة برمجة
تطبيقات آمنة حتى في المواقف التي لا يتوفر فيها الوصول المباشر إلى المكونات الأصلية.
5. استخدام التحميل الكسول
ببساطة ، التحميل البطيء هو عملية تحميل العديد من الوحدات ، مثل المستندات ،
و JS ، و CSS ، ومقاطع الفيديو ، والصور ، وما إلى ذلك.
من خلال تقسيمها إلى حزم عديدة وتحميلها عند الطلب ، فإنها تقلل من وقت تحميل البرنامج.
عند تحميل تطبيق كبير ، قد يكون التحميل البطيء مفيدًا على استخدام طرق أخرى لتحميل الوحدات.
فقط عند استخدام أي شيء سيتم تحميل شيء ما ببطء. بدلاً من تحميل المكون
في إعدادات مسارات AppRoutingModule ، يمكننا تحميل الأطفال
بسرعة باستخدام طريقة التحميل البطيء. تتمثل إحدى أفضل الممارسات Angular
في تحميل ميزة تطبيق معينة عند الحاجة إليها بدلاً من تحميلها.
بفضل خبرتهم العميقة في التأسيس ، فإن العديد من مطوري الواجهة الأمامية
حريصون على إنشاء تطبيقات Angular فريدة وسلسة.
لقد بذلنا جهدًا لتغطية جميع النقاط الرئيسية وأفضل الممارسات التي قد تستخدمها
المؤسسات في عملية التطوير الخاصة بها لتحقيق أقصى استفادة منها
من خلال مقالتنا المتعمقة حول أفضل ممارسات Angular.
تم تعزيز عملية التطوير من خلال تأليف الكود السهل في Angular ،
وربط البيانات ثنائي الاتجاه ، والهيكل المباشر ، وغيرها من الميزات الهامة.