• php
  • 1830
  • 20-3-2008
  • مرحب بالجميع أعتقد أن هذا الموضوع يهم كل المبرمجين ولو كان معاد فأرجو المعذره للأعاده أفاده ,, فلنبدأ $_POST وهي مصفوفة تحتوي جميع المتغيرات المرسله بال POST $_GET وهي مصفوفة تحتوي جميع المتغيرات المرسله عبر المتصفح بالطريقة Get $_REQUEST وهي مصفوفة تجمع بين الأثنين GET , POST وينصح بأستخدامها مثال
    لدينا ملف form.html به الكود التالي
    <form action="process.php" method="POST"> <input type="text" name="textname" /> <input type="submit" name="submit" value="send"/> </form>
    الملف الثاني process.php
    <?php echo $textname; ?>
    للرجستر جلوبال حالتين أحداهما on والأخرى off خطر الجلوبال يكمن في حالتها on وذلك لأستغلال بعض الهاكرز هذه النقطة لأختراق المواقع ونرجع للمثال السابق ففي الحالة on يعمل المثال السابق 100% اما في حاله off فلا يعمل ما السبب ؟؟ السبب فى خاصية الـ register_global فهى تمكننا من استخدام محتويات مصفوفة من المصفوفات التى تسمى مصفوفات Superglobals او Predefined وهى مصفوفات معرفة مسبقا تحتوى على بيانات معينه ومحددة مثلا مصفوفة $_COOKIE تحتوى على جميع الكوكيز التى قمت بزرعها فى جهاز العميل مصفوفة $_POST تحتوى على جميع البيانات التى تم وصلت الى الملف بطريقة post وهكذا اذن ما هى الطرقة الصحيحة لكتابةالكود؟؟
    echo $_POST['mytext'];
    وبهذا نرى ان وظيفة register_global هى اننا تجعلنا نستخدم المتغيرات مباشرة دون استخدم المصفوفة الخاصة بها $_POST او $_GET او $_COOKIE او غيرها اتمنى ان اكون قد اوصلت الفكرة اليكم ولهذا ينصح دائما بكتابة السكريبتات بالطريقة الاساسية وهى استخدام المصفوفات فلو كانت register_global فى وضع off او وضع on فهذا لن يؤثر على السكريبت باى حال ولكن عندما نتعامل مع المتغيرات مباشرا فهذا يحصر أسكربتاتنا على أستخدام الجلوبال مما يسبب مشاكل ببعض المواقع وللعلم ان ملف php.ini الذى يحتوى على جميع اعدادت اللغة منذ الاصدار 4.2 نجد ان خاصية register_global تكون فى الوضع off ونستنتج من هذا أن مصممي لغة php أنفسهم ينصحون بجعل ال register_global في وضعية off == لتغيير الوضعية بالسيرفر الشخصي Appserv من مجلد الويندوز على C: أبحث عن ملف php.ini وبداخلة أبحث عن register_global = On Xampp بداخل مجلد xampp Xampp/apache/bin/php.ini أفتح الملف php.ini وعدل ما يلزم كاتب المقال : php-Tiger
    كن أول من يقيم الموضوع
    12345