تأمين وحماية المواقع المطورة بلغة PHP


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

سيتم في هذا المقال دراسة الثغرات الامنية والحد من انتشارها وتواجدها  في المواقع الصغيرة والكبيرة ، واستخدام شتى المعارف والطرق الحديثة والمتطورة لبناء مواقع قوية خالية من الثغرات.

مجموعة من الثغرات الامنية في مواقع الويب وكيفية الحد من انتشارها

  1. الحد من ثغرات الــ xss  وذلك بالتحقق من المدخلات او فلترتها في جهة المستخدم عن طريق الجافا سكريبت او مكتبة الجي كويري ايضا توجد العديد من الإضافات الجاهزة التي يمكن استخدامها بسهولة ، ايضا تعتبر   جهة الخادم هي المكان الأساسي للتنفيذ لهذا يجب عليك استخدام دوال الفلترة والتحقق التي توفرها لغة PHP .
  2. الحد من ثغرات حقن البيانات SQL Injection وذلك باستخدام الكلاس PDO  للتعامل مع قواعد البيانات وذلك بالطريقة المثلى و المعيارية للتعامل مع قواعد البيانات والتي تمر بالمراحل التالية الاتصال والاعداد واضافة البارامترات واخيرا اضافة البيانات والتنفيذ ، وبهذه الطريقة يتم الحد من ثغرة حقن البيانات والتحقق من الاكواد المضمنة بشكل آلي.

  3. الحد من ثغرات File  Remote Inclusion  في لغة PHP  وذلك عن طريق اضافة مصفوفة تحتوي على الصفحات المسموح بها  عمل تضمين داخل السكريبت  وتعمل تحقق من وجود هذه الصفحة في المصفوة فبل تضمينها او استدعائها من خلال الدالة include(); ، الطريقة الثانية وهي ايقاف عملية استدعاء ملفات خارجية داخل اكواد الــ php   وذلك بتحويل قيمة المتغير allow_url  في ملف php.ini  على السيرفر الى OFF ، وبهذا سيتم منع تنفيذ كود التضمين بشكل نهائي .

  4. تشفير كلمات السر في قاعدة البيانات ، يجب تشفير  كلمة السر باستخدام احدى خوارزميات الهاش مثل md5  او sha2  وافضل استخدام sha2 لأنها تعتبر اخر اصدار من خوارزميات الهاش ، والتشفير بالهاش يتم من جهة واحدة فقط تشفير ولا يمكن ارجاعها لأصلها  ولكن يجب ايضا استخدام كلمة سر معقدة  ،  تحتوي على الرموز والأرقام والحروف الكبيرة والصغيرة ، لأنه هناك بعض الأدوات تقوم باستعادة كلمة المرور الأصلية اذا كانت كلمة السر سهلة ومعتادة ، ففي لغة الـ PHP نستخدم الدالة: 
    password_hash($password,$hash algorithm);

    :ايضا استخدم الدالة التالية للمقارنة بين الهاش وكلمة السر الأصلية للتحقق من ذلك
    password_verify($password , $hash);
    

  5. يجب كتابة الدلة exit(); بعد استخدام دالة التوجيه header(); لأنه في حال عدم استخدامها يعمل على طباعة جميع التعليقات المضافة بعدها.

  6. تعطيل امكانية تنفيذ الملفات على السيرفر التي يرفعها المستخدم وذلك عن طريق ملف الـ .htaccess ويتم ذلك من خلال الكود التالي:  
    <filesMatch "\.{php|rb|py|inc|txt}$">
    Order allow, deny
    Deny from all
    </filesMatch>   
  7. تعطيل خاصية عرض الاخطاء لانها تمكن الهاكر من استنتاج اكوادك البرمجية وقواعد البيانات من تحليل الأخطاء وذلك من خلال جعل قيمة عرض الأخطاء تساوي صفر كالتالي:

    error_reporting(0);

    او عن طريقة تغييره من ملف اعدادات php باسم php.ini كالتالي:
    display_errors : Off
  8. منع المستخدم من دخول المجلدات الفرعية للموقع التي تستخدم لتخزين الصور والملفات بشكل  مباشر ... وذلك عن طريق اضافة الكود التالي في ملف htaccess :

    IndexIgnore *
    

  9. استخدام استضافة قوية وذات امنية عالية.
  10. استخدام بروتوكول HTTPS.
  11. حذف الملفات الهامشية وملفات التثبيت من المشروع.
  12. تحديث اصدار PHP لآخر اصدار.

دور استخدام اطار عمل في PHP لتطوير تطبيقات الويب في امن وحماية الموقع.

يعتبر استخدام اطار عمل php framework من اكثر الادوات التي توفر عليك الكثير من الاكواد البرمجية التي يجب ان تستخدمها في الفلتره والحد من ثغرات الحقن Sql Injection و file Remote Inclusion وغيرها الكثير من الكلاسات الجاهزة لتوفير الحماية والتشفير ، ومن اهم اطارات العمل والاكثر شهرة ودعما في يومنا هذه اطار العمل لارافيل PHP Laravel Framework .

كانت هذه مقاله جديده للمهتمين بتطوير مواقع php خالية من الثغرات ... واذا كانت لديكم اضافات اخرى اتركوها في التعليقات لتعم الفائدة للجميع ...و لمتابعتنا على صفحتنا في الفيس بوك ....دمتم في رعاية الله وحفظة.
مواضيع ذات صلة

0 اترك تعليقاً...