اعذروني لأسم الدرس ولكنني أتكلم بجد
أولا مرحبا بكم مجددا
موضوعي اليوم صغير جدا جدا جدا جدا
magic_quotes , addslashes() , stripslashes()
دوال بطبعها ليست خطره : وأقصد هنا أن هذه الدوال تستعمل لتأمين المدخلات وقد تستعمل بعض الأحيان كسلاح له وجهين دفاعي وهجومي
ونقول ما علينا ..
من منكم يعرف ملف php.ini
هذا الملف للأسف هو القنبله التي يتجنب الكثيرين النظر فيه
أقول لكم قبل ما تبدأ برمجتك أعرف هذا الملف أولا لأنه مهم جدا جدا
داخل هذا الملف
فيا ويلنا لو أستعملنا الدوال السابقة
لأنها تضيف الشرطة المائله لجميع المتغيرات
فأنها تضيف شرطات مائله () الى جميع المتغيرات
GET/POST/COOKIE
لذلك لا يوجد داعى لاستخدام addslashes() اذا كان هذا الخيار مفعلا
لذلك فعند اجراء الاستعلامات لاننا بهذا سنعقد المسأله , ولتوضيح ما ارمي اليه , فاذا كان هذا الخيار مفعلا ستصبح كلمه I'M = I'M
وايضا اذا استخدمنا داله addslashes() فى حاله كان الخيار غير مفعل ستصبح كلمه I'M = I'M
لاحظنا الان ان الاثنين يقومون بنفس العمل
فما بالك اذا قمنا بأستخدام الداله addslashes() وكان خيار
ارأيتم التعقيد ؟ ماذا لو اردنا استخراج هذا الناتج من قاعده البيانات واخراجه للمستخدم الناتج التلقائي سيكون
I'M
وهو غير مطابق للمدخلات بأى حال من الاحوال ولذلك وجب علينا استخدام داله stripslashes() وسيكون النتيجه
I'M
ولكن لماذا نستخدم هذا الكم من الدوال مادام فى امكاننا ان نستخدم داله واحده فقط وهى addslashes() ؟؟؟
تذكرو دائما ان المبرمج المحترف هو من يصل للنتيجه بأقل عدد من الاسطر البرمجيه
لذلك اننى انصح بغلق الـــ magic_quotes_gpc
واستخدام داله addslashes() فقط عند ادخال بيانات لقاعده بيانات فقط
يمكنك غلق الــ magic_quotes_gpc وجعله = OFF عن طريق اضافه الكود التالى لملف .htaccess
الموضوع بتصريف "منقول ومعدل" بالتوفيق للجميع
الكاتب php-Tiger
أولا مرحبا بكم مجددا
موضوعي اليوم صغير جدا جدا جدا جدا
magic_quotes , addslashes() , stripslashes()
دوال بطبعها ليست خطره : وأقصد هنا أن هذه الدوال تستعمل لتأمين المدخلات وقد تستعمل بعض الأحيان كسلاح له وجهين دفاعي وهجومي
ونقول ما علينا ..
من منكم يعرف ملف php.ini
هذا الملف للأسف هو القنبله التي يتجنب الكثيرين النظر فيه
أقول لكم قبل ما تبدأ برمجتك أعرف هذا الملف أولا لأنه مهم جدا جدا
داخل هذا الملف
magic_quotes_gpc =ONفيا ويلنا لو أستعملنا الدوال السابقة
لأنها تضيف الشرطة المائله لجميع المتغيرات
فأنها تضيف شرطات مائله () الى جميع المتغيرات
GET/POST/COOKIE
لذلك لا يوجد داعى لاستخدام addslashes() اذا كان هذا الخيار مفعلا
لذلك فعند اجراء الاستعلامات لاننا بهذا سنعقد المسأله , ولتوضيح ما ارمي اليه , فاذا كان هذا الخيار مفعلا ستصبح كلمه I'M = I'M
وايضا اذا استخدمنا داله addslashes() فى حاله كان الخيار غير مفعل ستصبح كلمه I'M = I'M
لاحظنا الان ان الاثنين يقومون بنفس العمل
فما بالك اذا قمنا بأستخدام الداله addslashes() وكان خيار
magic_quotes_gpc =ONستصبح كلمه I'M = I\'Mارأيتم التعقيد ؟ ماذا لو اردنا استخراج هذا الناتج من قاعده البيانات واخراجه للمستخدم الناتج التلقائي سيكون
I'M
وهو غير مطابق للمدخلات بأى حال من الاحوال ولذلك وجب علينا استخدام داله stripslashes() وسيكون النتيجه
I'M
ولكن لماذا نستخدم هذا الكم من الدوال مادام فى امكاننا ان نستخدم داله واحده فقط وهى addslashes() ؟؟؟
تذكرو دائما ان المبرمج المحترف هو من يصل للنتيجه بأقل عدد من الاسطر البرمجيه
لذلك اننى انصح بغلق الـــ magic_quotes_gpc
واستخدام داله addslashes() فقط عند ادخال بيانات لقاعده بيانات فقط
يمكنك غلق الــ magic_quotes_gpc وجعله = OFF عن طريق اضافه الكود التالى لملف .htaccess
<IfModule mod_php4.c>
php_flag magic_quotes_gpc off
</IfModule>الموضوع بتصريف "منقول ومعدل" بالتوفيق للجميع
الكاتب php-Tiger


