في ظروف معينة، قد تواجه صفحات ويب PHP مشكلة حيث يؤدي إرسال بيانات النموذج إلى إضافة علامة شرطة مائلة عكسية قبل كل علامة اقتباس مزدوجة. تنشأ هذه المشكلة بسبب ميزة تكوين الخادم المعروفة باسم علامات الاقتباس السحرية.
عندما يتم تمكين علامات الاقتباس السحرية، تقوم PHP تلقائيًا بتجنب أحرف معينة، بما في ذلك علامات الاقتباس المزدوجة، عند إرسالها أو استلامها من قاعدة البيانات أو عمليات إرسال النماذج. في حين أن هذا يمكن أن يمنع هجمات حقن SQL عن طريق الهروب من علامات الاقتباس الضارة، إلا أنه يمكن أن يتداخل أيضًا مع معالجة النماذج العادية.
حل المشكلة
لحل المشكلة، يمكنك استخدام وظيفة stripslashes () لإزالة الخطوط المائلة العكسية المضافة تلقائيًا قبل حفظ بيانات النموذج في قاعدة البيانات أو عرضها على الصفحة. إليك مثال:
if (get_magic_quotes_gpc()) {
$input = stripslashes($input);
}
تتحقق هذه العبارة الشرطية من تمكين علامات الاقتباس السحرية، وإذا كان الأمر كذلك، فإنها تزيل الخطوط المائلة العكسية من متغير الإدخال $ باستخدام stripslashes(). سيسمح لك هذا بمعالجة بيانات النموذج بشكل طبيعي دون أي تعديلات إضافية.
شرح الاقتباسات السحرية
تعتبر الاقتباسات السحرية ميزة مهملة ويجب اعتبارها غير آمنة في لغة PHP الحديثة تطوير. تم تقديمها في PHP 4 وتمت إزالتها في PHP 7.0.0 لأنها قدمت العديد من مشكلات الأمان وتوافق التعليمات البرمجية.
يوصى عمومًا بتعطيل علامات الاقتباس السحرية لأنها تسمح بممارسات تشفير أكثر شفافية وأمانًا. يمكنك تعطيل علامات الاقتباس السحرية عن طريق تعديل ملف تكوين PHP الخاص بك وتعيين magic_quotes_gpc على إيقاف.
من خلال فهم وظيفة علامات الاقتباس السحرية واستخدام stripslashes() لحل مشكلة "الشرطة المائلة قبل كل اقتباس"، يمكنك التعامل بفعالية مع علامات الاقتباس السحرية. قم بتكوين البيانات في PHP وتأكد من وظائفها المقصودة حتى عند تمكين علامات الاقتباس السحرية.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3