يوم سوالف، في 7 أغسطس القادم

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > تطوير الويب
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع
عضو نشيط
تاريخ التسجيل: Dec 2003-
#1 (permalink)  
سلسلة (حتى يغيروا ما بأنفسهم)(1) ( بعض النصائح لتتبع وتصحيح اخطاء كود MySQL )


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

جلست كثيرا افكر فى واقع منتدياتنا العربية فى مجال تطوير المواقع فرأيت بالرغم من أننا والحمد لله على نعمته نملك المهارات والفكر و العقليات الجديرة بالاحترام والتقدير الا ان أكثر المواضيع فى المنتديات عبارة عن ( طلب اسكربت – تعريب اسكربت – عمل استايل – تعديل استايل – طلب برنامج ملطوش - ....... الخ ) .

فقلت من واجبي ان اقدم شىء او حتى احاول . يقول الله تعالى ( ان الله لا يغير ما بقوم حتى يغيروا ما بأنفسهم )
فقلت اسمي السلسلة ( حتى يغيروا ما بأنفسهم ) فى كل شىء حتى فى طريقة التفكير فى تطوير المواقع ولكى تعم الفائدة ان شاء الله سوف اطرح مواضيع من احد المنتديات الأجنبية واترجمه لكم للفائدة و للنقاش و ذلك سيكون نهجى فى هذه السلسلة ان شاء الله تعالى .

ما كان من خطأ فمني و من الشيطان و ما كان من فضل و توفيق فمن الله وحده ، اليكم الموضوع الأول :-

(حتى يغيروا ما بأنفسهم)(1) ( بعض النصائح لتتبع وتصحيح اخطاء كود MySQL )
هذه النصائح الثلاث التالية تستطيع بقوة تتبع وحل مشكلات MySQL :-

1-تقارير الأخطاء (Error Reporting) :
ضع error_reporting(E_ALL); فى بداية الاسكربت و هذا سوف يشير الى اى تحذير او انذار و يخبرك لماذا هذا التحذير او الإنذار و هذا قد يكون فعال للاسكربت .
مثال :
كود PHP:
error_reporting(E_ALL); 
2-استخدام mysql_error() :
99% من مشكلات mysql يمكن ان تحل بواسطة mysql_error() إذا كان هناك خطأ فى جملة الاستفسار سوف يخبرك لماذا يوجد هذا الخطأ .
مثال :
كود PHP:
$db mysql_connect('localhost''user''password') or die(mysql_error());
mysql_select_db('thedb') or die(mysql_error()); 
$sql "SELECT * FROM foo"
$result mysql_query($sql) or die(mysql_error()); 
3-ضع جمل الاستفسار (queries) فى متغير :
وضع جمل الاستفسار فى متغير يمكنك من طباعة محتوى المتغير للتأكد من جملة الاستفسار المتوقعة هل هى المقصودة ام لا .
مثال :
كود PHP:
$sql "SELECT name, email FROM user WHERE id=$id"
echo 
$sql//this will show you if $id is set or not, and what it's value is 






__________________
www.devstock.net
roket غير متواجد حالياً   قديم 25-01-2005, 05:14 AM
رد مع اقتباس
مشرف قسم تطوير المواقع
تاريخ التسجيل: Feb 2003-
#2 (permalink)  

شكرا لك على الموضوع القيم






__________________
-{Only God Can Judge Me}-
القانون فوق الجميع و الجميع يموت بالجوع
Dr-dre67 غير متواجد حالياً   قديم 25-01-2005, 10:55 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jan 2005-
#3 (permalink)  

الف شكر لك على الشرح الوافي .






Web Master غير متواجد حالياً   قديم 25-01-2005, 12:13 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Dec 2004-
#4 (permalink)  

رائع استمر






فهد 2000 غير متواجد حالياً   قديم 25-01-2005, 12:42 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Feb 2003-
#5 (permalink)  

جميل جدا جدا استمر عزيزي والله يوفقك فنحن بحاجة لمثل هذه المواضيع القيمة






aldosari غير متواجد حالياً   قديم 25-01-2005, 06:36 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Dec 2003-
#6 (permalink)  


جزاكم الله خيرا
اعانني الله على تقديم المزيد






__________________
www.devstock.net
roket غير متواجد حالياً   قديم 26-01-2005, 02:09 AM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Feb 2001-
#7 (permalink)  

جزاك الله خير

لكن أليس وضع جملة الطلب في متغير قد تتسبب في فتح ثغرة ؟






__________________
www.fmlog.com
المحارب غير متواجد حالياً   قديم 26-01-2005, 09:32 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Dec 2003-
#8 (permalink)  

عزيزى المحارب
انا فرحان جداً لأني وجدت ردود تسأل فى الموضوع ليس شكرا على الموضوع فقط و هذا مقصدي ان نسأل فنتعلم .

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

مثال :
نفرض ان المتغير الذى سيأخذ قيمة جملة الطلب او الاستفسار $sql
و نفرض ايضا انك تحاول استعمال تلك الثغرة فتكتب فى المستعرض مثلا : (index.php?sql=??????)
عند تنفيذ البرنامج سوف يتم سوف يتم عمل جملة استفسار و بعدها سوف يأخذ المتغير $sql جملة الاستفسار الحالية و بالتالي تحذف القيمة التى حاولت اختراق الثغرة بها (index.php?sql=??????) .
اتمنى ان يكون شرحي مفهوما حاولت الايضاح قدر المستطاع






__________________
www.devstock.net
roket غير متواجد حالياً   قديم 26-01-2005, 02:51 PM
رد مع اقتباس
رد


أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 10:40 AM بتوقيت المملكة العربية السعودية