اذهب إلى المحتوى
  • 0

الأمان في php

السؤال

نشر

السلام عليكم. 
في الاونة الاخيرة  نسمع الحديث بشكل كبير عن وجود ثغرات في محرك لغة php  وانه يجب التحديث لاصدارات معينة منها حتى يكون موقعك آمن . 
- نعلم انه لا توجد لغة آمنة ولا توجد لغة خالية من الثغرات.
وبحكم توجه القراصنة لهذه اللغة بسبب سيادتها في عالم الويب بنسبة 70 % . 
انا كمستخدم ومتعلم جديد لهذه اللغة ومهتم كثيرا بالامان هل  ابقى في دراستها ؟؟ أو أتوجه لدراسة لغات تعتبر أقل عرضة للقرصنة  بسبب عدم توجه القراصنة لها  .  
جزاكم الله خيرا. شكرا.

Recommended Posts

  • 0
نشر

نصيحتي أن تكمل في PHP، لأن الفكرة التي بنيت عليها السؤال تحتاج إلى تصحيح بسيط الثغرات التي تسمع عنها غالباً ليست من طبيعة اللغة 

الأخبار المتكررة عن "ثغرات PHP" تنقسم إلى نوعين 

  • ثغرات في محرك اللغة نفسه (الـ interpreter)، وتصلح بتحديث الإصدار هذه موجودة في كل لغة Python وJava وNode.js وRuby كلها تصدر تحديثات أمنية دورية وجود النشرات الأمنية علامة على أن المشروع حي وتتم مراجعته، وليس دليلاً على ضعفه.
  • ثغرات في التطبيقات المبنية بها، وهي الأغلب بفارق كبير إضافات WordPress القديمة، وقوالب مهجورة، وأكواد مكتوبة بلا تحقق من المدخلات. وهذه لا علاقة لها باللغة بقدر علاقتها بمن كتب الكود أو أهمل التحديث.

كما ذكرت، انتشارها كبير جداً، فعدد المواقع المخترقة بها كبير بالتبعية ويضاف إلى ذلك أن تاريخها الطويل ترك كمّاً هائلاً من الأكواد القديمة غير المحدّثة، وأن سهولة التعلم جذبت كثيراً من المبرمجين المبتدئين الذين لم يتعلموا الممارسات الأمنية أما PHP الحديثة (الإصدار 8 وما بعده) مع أطر مثل Laravel وSymfony فأمانها جيد جداً إذا استُخدمت بشكل صحيح.

القراصنة يتبعون الهدف، وليس اللغة لو انتشرت لغة أخرى لاستهدفوها والأخطر أن الاعتماد على "الغموض" لا يوفر أماناً حقيقياً (Security through obscurity)، فالثغرات الشائعة مثل SQL Injection وXSS وCSRF وتحميل الملفات الخطر تظهر في أي لغة ويب يكتب بها مبرمج غير حذر ما أنصحك به هو

  • ابقى في PHP، وتعلّم النسخة الحديثة منها (8.x).
  • اجعل الأمان جزءاً من تعلمك من اليوم الأول استخدم Prepared Statements (PDO) دائماً، وفلتر المدخلات وهرب المخرجات، وخزن كلمات المرور بـ password_hash().
  • ادرس قائمة OWASP Top 10، فهي المرجع الأهم لثغرات الويب وتنطبق على كل اللغات.
  • حدث الإصدارات باستمرار وتجنب الإضافات المهجورة.
  • تعلم أي لغة ثانية لاحقاً (Python أو JavaScript) لتوسيع خبرتك، لكن لأسباب مهنية وليس هرباً من الثغرات.
  • 0
نشر

وعليكم السلام ورحمة الله وبركاته .

أنصحك بأن تستمر في دراسة PHP ولا تتركها لمجرد أنك تسمع عن ثغرات فيها ولكن يجب عليك تعلمها بعقلية المطور الذي يفهم كيف تحدث الثغرات وكيف يمنعها وكيف يحافظ على تطبيقاته آمنة.

وهناك فرق جوهري بين أن تكون اللغة مستهدفة من القراصنة وبين أن تكون اللغة نفسها غير آمنة وهنا توجد بعض النقاط التي تستحق أن تفهمها جيدا :

هل PHP خطيرة لأنها مستهدفة :

ليس بالضرورة هناك ثلاثة أمور مختلفة يجري أحيانا الخلط بينها:

  • ثغرات في محرك PHP نفسه: هناك أخطاء برمجية داخل المفسر وقد تسمح في ظروف معينة بتنفيذ تعليمات غير مقصودة أو التسبب في انهيار البرنامج.
  • ثغرات في تطبيقات PHP: مثل حقن SQL وتجاوز صلاحيات المستخدمين ورفع ملفات ضارة وسرقة الجلسات كثير من هذه الثغرات ينتج عن طريقة كتابة التطبيق وليس عن خلل في محرك اللغة.
  • ثغرات في الخادم أو المكتبات والإضافات: قد يكون الخلل في نظام التشغيل أو خادم الويب أو إحدى المكتبات التي تستخدمها أو نظام إدارة محتوى وإضافاته.

فهذه الأنواع ليست متساوية ولا تعالج بالطريقة نفسها فمثلا إذا كتبت استعلام SQL بدمج مدخلات المستخدم مباشرة داخل النص فقد تعرض موقعك لحقن SQL والانتقال من PHP إلى Python أو JavaScript لن يحل المشكلة تلقائيا لأن الخطأ في طريقة بناء الاستعلام وكتابتك للكود.

وليست php الوحيدة التي ظهر لها ثغرات فأيضا Node.js ظهر لها ثغرات خطيرة وغيرها من أطر العمل واللغات الأخرى .

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...