كلمة الفريق بقيادة عرفان جميل

في عصرنا يوجد مئات الآلاف من المدونين والمدونات ، البعض يعمل بشغف وحب والآخر يعمل بشكل إنتاجي للكسب فقط ! أما نحن .. نحب ونعشق وندوووب في دباديب التدوين ونؤمن أننا سنقوم بإضافة كبيرة للمحتوى العربي ولو بشيئ بسيط ، نتعلم بشكل مستمر نشارككم بكل جديد ، نحاول المساعدة نحب أصدقاءنا ، نهتم بإستفساراتهم كما لو كانت ملكنا، فريقنا فريق واحد رغم أنه متكون من شخص واحد :) لكنه يعمل بجنون

تأمين صفحات PHP ضد الهجمات




عند إنشاءك موقع أو صفحة ويب تحتوي على نموذج إدخال البيانات فان أول شيء يجب عليك التفكير فيه هو تأمين صفحة الويب من أخطار الأشخاص المخربين الذين يستعملون شتى الحيل كإدخال حقن sql و ترويسات html  أو نصوص JavaScript  وغيرها من الطرق التي من الممكن أن تخرب/ تبطئ عمل الموقع بشكل من الأشكال, وتعد نماذج الإدخال مثل textbox و textarea من أهم العناصر التي يجب الاهتمام بأمانها وأمان المعلومات المدخلة بواسطتها حيث غالبا ً تكون النماذج مع اتصال مباشر مع قواعد البيانات لذا تكون قواعد البيانات عرضة للخطر حينها.
لحسن الحظ فأن PHP توفر بعض المزايا المتقدمة للحفاظ على امن نماذج الإدخال وتطبيق عمليات الفلترة عليها:

استخدم POST

إن كان النموذج يحتوي على بيانات سرية أو مهمة مثل تفاصيل حساب المستخدم, كلمات السر, رقم credit card.... فلا بد من استخدام الدالة POST عند تناقل البيانات سواء بين صفحة PHP وقواعد البيانات أو بين صفحة PHP وصفحة PHP أخرى.
بخلافه فأن عند استخدامك للدالة GET ستظهر المعلومات بشكل علني في شريط العنوان ولا اعتقد انك تحبذ هذا :D
كما ترى أدناه فقد أنشأنا صفحة دخول مستخدم واستخدمنا فيها الدالة GET :

لقد كتبت اسم المستخدم ali وكلمة السر ali لنرى ما سيحدث بشريط العنوان عند ملئ البيانات وإرسالها:

 

كما ترى فقد ظهر اسم المستخدم وكلمة السر في شريط العنوان بوضوح ويستطيع أي شخص معرفتها.

أما في حالة POST سيكون شكل شريط العنوان كالتالي:




اعتقد انك فهمت ما اقصده الآن.


empty()

تمكنك الدالة empty  من التحقق من إن المستخدم لا يرسل النموذج أو الحقل فارغا ً حيث يمكننا عرض رسالة مثلا ً عند حصول ذلك:


$user=$_POST['user'];
If (empty($user)) {
echo "I bet you forgot some fields";
}






strlen()

تفيد هذه الدالة في معرفة عدد الأحرف التي يدخلها المستخدم فمثلا يمكننا منع المستخدم من إدخال نصوص التي يكون عدد أحرفها يزيد عن 30 حرفا ً:


$user=$_POST['user'];
If (strlen($user)>30) {
echo "that is too much!";
die();
}



strip_tags()

تعتبر من أهم دوال تأمين صفحة الويب حيث تعمل هذه الدالة على انتزاع أية ترويسات او وسوم خاصة بلغات اخرى وكذلك يمكن اضافة دالة trim() التي تتأكد من إن المدخلات هي نصوص فقط :


$user=$_POST['user'];
strip_tags(trim($user));



escapeshellcmd()

تعد هذه الدالة من الدوال المهمة حيث تتخلص من أي أوامر للغة sql من الممكن من المستخدم إن يكتبها في حقل ما حيث تسبب هذه الأوامر تخريب ومسح البيانات المخزنة على قواعد البيانات يمكن استخدام هذه الدالة كالتالي:


$user=$_POST['user'];
escapeshellcmd($user);






stripslashes()


وتفيدنا هذه الدالة في التخلص من علامات السلاش "/" وكما يلي:


$user=$_POST['user'];
stripslashes($user);


  
عنوان التدوينة: تأمين صفحات PHP ضد الهجمات
تقييم : 10 من 10 مرتكز على 24 تقييم.
الكاتب / المدير عرفان جميل
عدد المشاهدات :
Hm

عرفان جميل : من الجزائر -مقيم بروسيا, اهتمامي وحبي لتدوين هو ما جعلني أستمر ليس فقط لتقديم المواضيع بل أيضا لمساعدة الأشخاص المبتدئين ، كما كنت سابقا إلا أني لم أجد من يساعدني ! مع ذلك كافحة وواضبة على ما أحبه من عمل لأصل إلى ما أريده ، ليس كمستقبل لكن كهدف حققته ,لدي إهتمامات اخرى منها الرياضة ، ألعاب الفيديو ، والتصميم بحد ذاته ومدونة مذهل ويب الافضل لكم تعبر عما أهواه .

* بإمكانك إدراج الأكواد الغير قابلة لنشر بتحويله عبر محول الأكواد
لتصلك إشعارات ردود هذا الموضوع على البريد الإلكترونى أضف علامة بالمربع بجوار كلمة "إعلامى"


محول الأكواد عبر عن تعليقك اترك بصمتك


شكرا لتعليقك
قالب عرفان جميل .