هل phonegap آمن
هل phonegap آمن
يمكن لطبيعة تطوير PhoneGap عبر الأنظمة الأساسية أن تجعل النظام الأساسي مغريًا للغاية، خاصةً للمطورين ذوي مهارات الويب الحالية. ومع ذلك، فإن استخدام ملفات مصدر النص العادي والاعتماد على المكونات الإضافية المطورة خارجيًا للوظائف الأساسية يمكن أن يترك مشروعك عرضة لمشاكل أمنية متعددة. عند إجراء اختبار أمان تطبيقات الهاتف المحمول لتطبيقات Phonegap، من المهم مراعاة النقاط الموجودة في الأسفل، بالإضافة إلى تلك الموجودة في قوائم اختبار أمان تطبيقات الأجهزة المحمولة لنظامي التشغيل iOS و Android.
- ملفات المصدر غير الآمنة:
تطبيقات Phonegap مبنية على أسس الويب لـ HTML و CSS و JavaScript. تمامًا مثل الويب، يمكن إخفاء هذه الملفات ولكن لا يتم تشفيرها أبدًا، لذلك من المهم التأكد من عدم تضمين معلومات حساسة. يتم تخزين ملفات المصدر هذه بدون تشفير في مجلد حزمة التطبيق الخاص بك ويسهل على المهاجم فحصها نسبيًا.
- منطق الأعمال من جانب العميل (Client-Side Business Logic):
سواء كنت تطور تطبيقات جوال أصلية أو هجينة، يجب أن تحاول الاحتفاظ بأكبر قدر ممكن من منطق عملك في التعليمات البرمجية من جانب الخادم. يمكن أن تساعد البنى الحديثة بدون خادم مثل Firebase المطورين كثيرًا من خلال مزامنة بيانات المستخدم بين العميل والسحابة، ولكن لسوء الحظ يمكن لهذه البنية أن تشجع المطورين على معالجة بيانات التطبيق المشتركة مباشرة دون تحكم كافٍ في الوصول.
- تحميل جافا سكريبت عن بعد:
نظرًا لأنه يتم تحميل تطبيق Phonegap ديناميكيًا، فمن المغري الاستفادة من خدمات النشر باستخدام النشر عن بعد وذاك باستخدام Ionic Deploy أو CodePush. يسمح لك النشر عن بعد بتحديث منطق التطبيق الخاص بك دون إعادة إرسال طلبك إلى Google أو Apple للمراجعة. ونتيجة لذلك، يتم تقليل الوقت اللازم لإخراج تحديثات التطبيق للمستخدمين، مما قد يسمح لك بالتعامل مع الأخطاء بشكل أسرع أو تغيير وظائفك بناءً على تعليقات المستخدم.
- تخزين البيانات المحلية غير الآمن
سينجذب معظم مطوري Phonegap مبدئيًا نحو LocalStorage لتلبية احتياجات التخزين للتطبيقات البسيطة. ولكن لا يتم تأمين LocalStorage إلا من خلال ميزات وضع الحماية للنظام الأساسي والتي قد تكون عديمة الجدوى إذا تم كسر حماية الجهاز أو تمكن المهاجم من الوصول الفعلي إلى الجهاز.
- التبعيات غير الآمنة:
واحدة من أفضل ميزات Phonegap هي المجموعة الواسعة من مكونات Phonegap الإضافية المتاحة والتي تساعد على الاستفادة من ميزات النظام الأساسي وتوفير وظائف جذابة. ولكن لسوء الحظ، نادرًا ما تتم صيانة العديد من هذه المكونات الإضافية، وبالتالي تعتمد على العديد من حزم NPM الأخرى لتوفير الوظائف. هذا يمكن أن يجعل من شبه المستحيل تتبع الرمز الذي يتم تشغيله داخل تطبيقك بالضبط ويتركك مفتوحًا لجودة الكود الرديئة أو حتى الوظائف الضارة.
- المحتوى الخارجي:
إذا كنت تقوم بتحميل محتوى خارجي إلى تطبيقك باستخدام الوظيفة window.open () القياسية، فأنت بذلك تعرض فعليًا جميع واجهات برمجة تطبيقات Phonegap إلى موقع الويب الخارجية، مما يؤدي إلى مخاطر أمنية لتطبيقك وبياناته. لتجنب هذه المشكلة، يمكنك استخدام المكون الإضافي InAppBrowser المقدم من Apache. والذي تم تصميمه ليكون بديلاً مؤقتًا لـ window.open () الذي يفتح المحتوى في متصفح خارجي.
- تخزين HTTP المؤقت:
لا يدرك العديد من المطورين تأثير التخزين المؤقت HTTP على أمان تطبيقاتهم. بشكل افتراضي سيرث تطبيق Phonegap ملف تعريف تخزين HTTP الافتراضي لعرض الويب لنظام التشغيل المضيف. سيحاول هذا السلوك الافتراضي زيادة أداء تطبيقك عن طريق تخزين أكبر قدر ممكن من البيانات في ذاكرة التخزين المؤقت. هذا يعني أن أي طلبات حساسة لبيانات المستخدم أو بيانات الاعتماد سيتم تخزينها مؤقتًا بدون تشفير على نظام ملفات الجهاز.
- شهادة التثبيت:
لا توجد شهادة مناسبة مثبتة على Phonegap، ويرجع ذلك جزئيًا إلى عدم وجود واجهات برمجة تطبيقات أصلية لاعتراض اتصالات SSL للتحقق من شهادة الخادم. هناك عدد من الحلول المتاحة مثل التحقق من تطابق المفتاح العام للخادم عند تهيئة التطبيق وطوال تشغيله.
التعليقات