عند العمل مع بيانات POST في PHP، لا سيما داخل في بيئة WordPress، من الممكن أن تواجه سلوكيات الهروب التلقائي غير المتوقعة على الرغم من إيقاف علامات الاقتباس السحرية. تنشأ هذه المشكلة المحيرة عندما تخضع بيانات POST للهروب التلقائي، على الرغم من أنه تم تعطيل علامات الاقتباس السحرية (get_magic_quotes_gpc() تُرجع 0).
عند التعمق أكثر في هذه المشكلة، يصبح من الواضح أن WordPress يلعب دورًا حاسمًا في تفعيل آلية الهروب التلقائي هذه. عندما يتم تشغيل WordPress كجزء من عملية تهيئة التطبيق الخاص بك، فإن التعليمات البرمجية الخاصة به تتداخل مع السلوك الطبيعي لعلامات الاقتباس السحرية في PHP.
يتضمن WordPress وظائف تعترض بيانات الطلب، بما في ذلك بيانات POST، وتنفذ عمليات معينة، إحداها يتم الهروب من علامات الاقتباس المفردة ('). يمتد هذا السلوك حتى عند تعطيل علامات الاقتباس السحرية في php.ini.
يكشف الفحص الدقيق لقاعدة تعليمات WordPress عن خطأ تم الإبلاغ عنه ضمن نظام WordPress Core Trac (التذكرة 18322). تتعلق هذه المشكلة بالمعالجة غير الصحيحة لبيانات الطلب، مما يؤدي إلى الهروب غير المرغوب فيه.
لحسن الحظ، يتوفر حل لحل معضلة الهروب التلقائي هذه . يوصي WordPress Codex باستخدام وظيفة stripslashes_deep() "لإلغاء الهروب" من بيانات POST قبل إجراء أي عمليات عليها. من خلال استخدام هذه الوظيفة، يمكنك تجاوز ميزة الهروب التلقائي في WordPress بشكل فعال واسترداد البيانات بتنسيقها الأصلي.
لتنفيذ هذا الحل، أضف الكود التالي إلى برنامج PHP النصي الخاص بك:
$_GET = array_map('stripslashes_deep', $_GET);
$_POST = array_map('stripslashes_deep', $_POST);
$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
$_SERVER = array_map('stripslashes_deep', $_SERVER);
$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
يزيل هذا الكود الخطوط المائلة من جميع الكائنات العالمية الفائقة، مما يضمن عدم الهروب من بيانات POST تلقائيًا عند الوصول إليها في PHP.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3