أهالي سوالف مرحبا :
أعتقد أن هذا الموضوع يهم كل المبرمجين ولو كان معاد فأرجو المعذره للأعاده أفاده ,,
فلنبدأ
$_POST وهي مصفوفة تحتوي جميع المتغيرات المرسله بال POST
$_GET وهي مصفوفة تحتوي جميع المتغيرات المرسله عبر المتصفح بالطريقة Get
$_REQUEST وهي مصفوفة تجمع بين الأثنين GET , POST وينصح بأستخدامها
مثال
لدينا ملف form.html به الكود التالي
كود HTML:<form action="process.php" method="POST"> <input type="text" name="textname" /> <input type="submit" name="submit" value="send"/> </form>
الملف الثاني process.php
كود PHP:
<?php echo $textname; ?>
للرجستر جلوبال حالتين أحداهما on والأخرى off
خطر الجلوبال يكمن في حالتها on وذلك لأستغلال بعض الهاكرز هذه النقطة لأختراق المواقع
ونرجع للمثال السابق
ففي الحالة on يعمل المثال السابق 100% اما في حاله off فلا يعمل
ما السبب ؟؟
السبب فى خاصية الـ register_global
فهى تمكننا من استخدام محتويات مصفوفة من المصفوفات التى تسمى مصفوفات Superglobals او Predefined وهى مصفوفات معرفة مسبقا تحتوى على بيانات معينه ومحددة
مثلا مصفوفة $_COOKIE تحتوى على جميع الكوكيز التى قمت بزرعها فى جهاز العميل
مصفوفة $_POST تحتوى على جميع البيانات التى تم وصلت الى الملف بطريقة post
وهكذا
اذن ما هى الطرقة الصحيحة لكتابةالكود؟؟كود PHP:
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 وعدل ما يلزم
أرجو أن يكون الدرس مفيد وأنتظر عرض الزوار لأخطار أخرى للجلوبال