"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يعتبر REGISTER_GLOBALS خطرًا أمنيًا في PHP؟

لماذا يعتبر REGISTER_GLOBALS خطرًا أمنيًا في PHP؟

تم النشر بتاريخ 2024-11-08
تصفح:678

Why is REGISTER_GLOBALS a security hazard in PHP?

REGISTER_GLOBALS: خطر أمان PHP

كانت REGISTER_GLOBALS ذات يوم ميزة مثيرة للجدل في PHP، مما أدى إلى إدانة واسعة النطاق. تنبع سمعتها السيئة السمعة من المخاطر الأمنية الكامنة التي تشكلها.

إذن، ما هي مشكلة REGISTER_GLOBALS؟

يقوم REGISTER_GLOBALS تلقائيًا بإنشاء متغيرات عامة لجميع معلمات طلب GET وPOST ، مما يجعلها قابلة للوصول في أي مكان في البرنامج النصي. يشكل هذا تهديدًا كبيرًا لأن الوصول إلى المتغيرات غير المعلنة هو مجرد تحذير في PHP، وليس خطأ. إذا (تصحيح الأخطاء) { صدى "الاستعلام: $query\n";

بدون تمكين REGISTER_GLOBALS، فإن الوصول إلى متغير $query غير المعلن قد يؤدي إلى تحذير أو خطأ، مما يدفع المطورين إلى تحديد المتغير بشكل صريح. ومع ذلك، مع تشغيل REGISTER_GLOBALS، سيظل الاستعلام $ غير المعلن متاحًا كمتغير عام، مما يخلق وسيلة محتملة للمهاجمين لاستغلال هذه المعلمة غير المعلنة.

على الرغم من أن REGISTER_GLOBALS ليس سيئًا بطبيعته، إلا أنه يمكن أن يؤدي إلى تفاقم العيوب الأمنية السائدة في العديد من نصوص PHP بسبب ضعف جودتها في كثير من الأحيان. على هذا النحو، يوصى عمومًا بتعطيل REGISTER_GLOBALS لتعزيز الأمان.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3