متغيرات الفائقة هي متغيرات PHP مدمجة تكون متاحة تلقائياً في كل نطاق — وتحتفظ ببيانات الطلب وسلومات الخادم والجلسات والمزيد. وهي الطريقة التي تتمكن بها نصوص PHP من الوصول إلى معلومات طلب HTTP الواردة.
متغيرات الفائقة الرئيسية
هذه متاحة في كل مكان (لا تحتاج إلى كلمة مفتاح global)، بخلاف المتغيرات العادية التي تكون مقصورة على وظيفتها.
// query parameters and form data
$id = $_GET['id'] ?? null; // ?? provides a default if missing
$username = $_POST['username'] ?? '';
// request info
$method = $_SERVER['REQUEST_METHOD']; // "GET", "POST"
$uri = $_SERVER['REQUEST_URI'];
$ip = $_SERVER['REMOTE_ADDR'];
// ❌ DANGEROUS — using raw input directly enables attacks
$query = "SELECT * FROM users WHERE id = " . $_GET['id']; // SQL INJECTION!
echo $_GET['name']; // XSS!
// ✅ ALWAYS validate, sanitize, and escape user input
$id = (int) $_GET['id']; // cast/validate
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = ?"); // parameterized query
echo htmlspecialchars($_GET['name']); // escape for output (prevent XSS)
البيانات من $_GET و $_POST و $_COOKIE و $_REQUEST هي مدخلات مستخدم غير موثوقة — استخدامها مباشرة يمكّن هجمات حقن SQL و XSS وهجمات أخرى. تحقق دائماً من الصحة واستخدم استعلامات محددة المعاملات في قواعد البيانات وتجنب المخرجات.
متغيرات الفائقة أساسية في تطوير الويب باستخدام PHP — وهي الطريقة التي تستقبل بها النصوص بيانات طلب HTTP (سلاسل الاستعلام وتقديمات النماذج والملفات تعريف الارتباط والجلسات والملفات المرفوعة ومعلومات الخادم)، لذا فإن فهمها معرفة أساسية ضرورية للتعامل مع أي إدخال مستخدم.
معرفة ما يحتويه كل متغير فائق ($_GET و $_POST و $_SERVER و $_SESSION وما إلى ذلك) وكيفية الوصول إلى بيانات الطلب ضروري لبناء أي تطبيق PHP.
ولكن أهم نقطة هي الأمان: البيانات من $_GET/$_POST/$_COOKIE/$_REQUEST هي مدخلات مستخدم غير موثوقة، واستخدامها مباشرة هو السبب الجذري لمعظم الثغرات الأمنية الشائعة والخطيرة على الويب (حقن SQL و XSS).
فهم أن بيانات طلب المتغيرات الفائقة يجب أن تكون دائماً محققة والتحقق منها وآمنة (استعلامات محددة المعاملات لقواعد البيانات) وتجنب المخرجات أمر حرج وضروري للأمان — لأن المتغيرات الفائقة هي نقطة الدخول لمدخلات المستخدم، وسوء التعامل معها هو حيث تنشأ العديد من انتهاكات أمان PHP الخطيرة، مما يجعل التعامل الآمن معها مسؤولية أساسية لكل مطور PHP. (الإطارات الحديثة مثل Laravel تحيط المتغيرات الفائقة بتجريدات طلب أكثر أماناً، لكن المبدأ الأساسي بعدم الثقة بالمدخلات يبقى.)