خطأ شائع
من أكثر المعلومات الخاطئة انتشارا ان php لغة غير أمنة او فيها ثغرات أو ان لغات (أو Frameworks) اخرى زي asp.net أو بايثون لغات أمنة .
في الواقع مسألة الـ security متعلقة بالشخص نفسه كمبرمج وبالكود اللي بيكتبه يعني الـ php بتوفرأدوات الحماية فكون ان المبرمج ما استخدمهاش نتيجة ضعف خبرته فدي مش مشكلة php ..
انت عندك الـ abstraction للـ database من خلال حاجة زي pdo بتوفرلك ادوات الحماية ضد الـ sql-injection، عندك طرق ومكتبات واطر عمل للـ php توفرلك حماية من كل انواع الثغرات .
بيئة التطوير وبيئة المطور
من وجهة نظري ومن خلال تجربتي مع php ومع asp اعتقد سبب انتشار فكرة زي دي ترجع لطبيعة مجتمع اللغتين :
- الـ php لغة سهلة ومرنة ومجانية ومجتمعها مفتوح امام الكل أي حد النهاردة ممكن يتعلم php ويبدأ يكود بيها دا أدى لانتشار كبير للغة php لكن للأسف برده أدى لأن معظم مبرمجين الـ php خبرتهم ضعيفة لأن مفيش معيار معين يقيمهم ولا قيود على اعمالهم كل واحد كتب كود بقى متاح ليه يبني موقع سواء لنفسه أو للناس ويرفعه عالانترنت بسبب سهولة الموضوع وانخفاض تكاليفه وأصبحت السمة المميزة لسوق الـ php النهاردة هي ضعف خبرة المبرمجين .
- أضف الى ذلك ان موضوغ الــ self learn عن طريق قنوات اليوتيوب أصبح سبوبة وأى حد رفع كام فيديو قال عليهم دورة .. واللى دخل شاف الكام فيديو دول قال على نفسه مطور .. من غير ما يكلف نفسه البحث عن جديد أو حتى يعرف ازاى ممكن يحمى موقعه أو يسد ثغراته أو حتى يمكن ميعرفش يعنى ايه حماية
قيود على بيئة التطوير
- في المقابل الـ asp سوقها عليه قيود وبيئة الدوت نت عموما مش سهلة مقارنة مع php ومحتاجة تعمق في شوية امور شوية ولفترة قريبة كانت مغلقة المصدر وغير مجانية فدا أدى لأن سوقها يكون عليه قيود بحيث يبقى مقتصر على الـ enterprise وان مش سهل تعمل بالـ asp تطبيق وترفعه وتشتغل بيه زي php ولا سهل انك تشتغل بيها في السوق لأن طبيعتها بتفرض على المبرمج انه يكون محترف عشان يقدر يلاقي شغل وبسبب كدا هتلاقي ان مجتمع asp سمة مبرمجيه انهم متعمقين في تفاصيل كتير وفاهمين .
عشان كدا ظهرت الفجوة هنا ان تطبيقات asp دايما اكثر امان و php تطبيقاتها فيها ثغرات والفكرة هنا ان الـ asp معظم المواقع اللي بتتبني بيها بناها محترفين في حين ان معظم المواقع اللي اتبنت بـ php بيبنيها هواة او شركات صغيرة مفيهاش خبرات كافية فبينتج عن نقص الخبرة دا ثغرات .
دا ما يمنعش ان بعض اللغات أو اطر العمل وخصوصا asp.net و javaEE ممكن يكون فيهم ادوات تسهل وركز على تسهل دي انك تحقق بعض الأمان لكن دا ما يمنعش انك تقدر تحقق الأمان برده بأي لغة .. والحقيقة ان المبرمج المحترف هيبني تطبيق أمن اي كانت اللغة اللي بيكتب بيها والمبرمج اللي معندوش خبرة هيبني تطبيق سئ وفيه ثغرات أي كانت اللغة اللي بيبني بيها .
#Khaled_Gad
#Khaled_Gad
No comments:
Post a Comment