• php
  • 1803
  • 20-3-2008
  • اعذروني لأسم الدرس ولكنني أتكلم بجد أولا مرحبا بكم مجددا
    موضوعي اليوم صغير جدا جدا جدا جدا 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
    كن أول من يقيم الموضوع
    12345