الأحد، 2 يونيو 2013
12:01 م

خمسة طرق للحماية من ثغرات MySQL Injection


يجب أن تعلم أن أكثر من 70% من المخترقين يستخدمون MySQL Injection فى إختراق المواقع، لذلك يجب بجميع المبرمجين أن يهتموا بتفادي تلك الثغرات، لذلك فى هذا الدرس سأقوم بتوضيح بعض النصائح لك، والتى من دورها ستقوم بحماية برنامجك من تلك الثغرات تمامًا.
كنت قد تطرقت إلى تلك الثغرة فى موضوع سابق ، لكن الآن سأقدم لك بعض النصائح لحماية برنامجك بشكل كامل -إن شاء الله-.


  • عند إخراج أى من شيفرات HTML عبر طباعتها من خلال print او echo، يجب أن تدخلها أولاً فى دالة، ألا وهي دالة htmlspecialchars().
  • لا تثق أبدًا فى مدخلات المستخدم، فقد تكون مدخلات المستخدم بها استعلامات SQL؛ لذلك قبل انا تقوم بعمل query يجب أن تقوم بإدخال مدخلات المستخدم فى دالة، ألا وهي دالة mysql_real_escape_string().
  • لا تقوم بطباعة mysql_error للمستخدم، فمعظم المبرمجين يقومين بكتابة:
    die(mysql_error);
    لكن هذا الموضوع خطير جدًا، فلا تدع المستخدم يعلم ما يحدث بداخل قاعدة البيانات او ببرنامجك، فيمكنك كتابة الخطأ بنفسك بشكل لا يوضع تفاصيل الخطأ، فقد يكون هذا المستخدم هو متسلل، او ربما تقوم بإرسال الخطأ عبر دالة mail إلى صاحب الموقع.
  • إخفي الأخطاء دائمًا فى برنامجك، فلا تدع البرنامج يظهر خطأ للمستخدم ابدًا، فقم بإغلاق الـerror_reporting فى برنامجك، فيما عدًا إذا كنت أنت من تقوم بإستخدامه وتطويره، لكن قبل نشره يجب أن تقوم بتلك الخطوة.
  • حاول دائمًا تشفير كلمات سر المستخدمين بطرقك الخاصة.
المزيد من المواضيع:

1 التعليقات: