17-10-12, 07:22 PM
السلام عليكم
نعرف كثيرا عن حقن sql بواسطة نماذج الادخال وايضا حقن تعليمات html اقدم لكم بعض الدوال المستخدمة في التهرب من داخل هذه المشاكل
اولا الدالة strip_tags
الوظيفة الغاء اي تعليمات html من النص المدخل
القيمة العائدة من الدالة ستكون نص خالي من تعليمات html
الاستخدام
حيث string كناية لاي متغير نصي يحمل بداخلة اي نص مثال
الدلة الثانية
mysql_real_escape_string
وظيفة هذه الدالة هي تجاوز اي تعليمة توقف قد يتم حقنها في الاستعلام مثل اضافة ' او علامة التجاوز /
ملاحظة ستضيف علامة تجاوز لكل رمز محجوز لذلك يجب استخدام دالة عند القراءة البيانات
طبعا كالعادة string كناية عن اي نص
كما ذكرت سابقا انهوا يجب ان يكون عند القراءة استخدام دالة stripslashes لتجاوز علامة التجاوز التي اضفتها الدالة السابقة
مثال
خطوات ايضا يجب التدقيق فيها هي فحص الرقم في حالة ما اذا كان عدد المدخل ولنفرض اننا نرسل قيم عبر GET للقيمة ID
فمثلاا
LOCALHOST/INDEX.PHP?ID=10
ماذا لو قام اي شخص وغيرها الى حرف ؟؟ مشكلة
كيف سنقوم بالفحص
سندخل القيمة في الدالة INTVAL فاذا اعدة لنا صفر فهذا يعني ان القيمة السابقة نص
لكن هنا قد ياتيني سؤل اخر ماذا لوكان المدخل 0 الحل بسيط جدا وهو ان اضع شرط لفحص القيمة قبل ان استخدم الدالة intval فان كانة تساوي صفر فلا ادخلها دالة intval
اتمنا من اي شخص يستطيع الاضافة للفائدة ان يفيدنا وجزاه الله خير
نعرف كثيرا عن حقن sql بواسطة نماذج الادخال وايضا حقن تعليمات html اقدم لكم بعض الدوال المستخدمة في التهرب من داخل هذه المشاكل
اولا الدالة strip_tags
الوظيفة الغاء اي تعليمات html من النص المدخل
القيمة العائدة من الدالة ستكون نص خالي من تعليمات html
الاستخدام
حيث string كناية لاي متغير نصي يحمل بداخلة اي نص مثال
كود :
$string=strip_tags($string)
الدلة الثانية
mysql_real_escape_string
وظيفة هذه الدالة هي تجاوز اي تعليمة توقف قد يتم حقنها في الاستعلام مثل اضافة ' او علامة التجاوز /
ملاحظة ستضيف علامة تجاوز لكل رمز محجوز لذلك يجب استخدام دالة عند القراءة البيانات
طبعا كالعادة string كناية عن اي نص
كود :
$string=mysql_real_escape_string(string);
كما ذكرت سابقا انهوا يجب ان يكون عند القراءة استخدام دالة stripslashes لتجاوز علامة التجاوز التي اضفتها الدالة السابقة
مثال
كود :
$string=stripslashes(string);
خطوات ايضا يجب التدقيق فيها هي فحص الرقم في حالة ما اذا كان عدد المدخل ولنفرض اننا نرسل قيم عبر GET للقيمة ID
فمثلاا
LOCALHOST/INDEX.PHP?ID=10
ماذا لو قام اي شخص وغيرها الى حرف ؟؟ مشكلة
كيف سنقوم بالفحص
سندخل القيمة في الدالة INTVAL فاذا اعدة لنا صفر فهذا يعني ان القيمة السابقة نص
لكن هنا قد ياتيني سؤل اخر ماذا لوكان المدخل 0 الحل بسيط جدا وهو ان اضع شرط لفحص القيمة قبل ان استخدم الدالة intval فان كانة تساوي صفر فلا ادخلها دالة intval
اتمنا من اي شخص يستطيع الاضافة للفائدة ان يفيدنا وجزاه الله خير