إخفاء رسالة خطأ PHP / MySQL
سؤال
لدي موقع على شبكة الانترنت على أساس عربة اكس.انها تعمل بشكل جيد.ومع ذلك، عندما أذهب إلى العنوان (الدخول إلى الرابط يدويًا) www.mysite.com/"Xx<XaXaXXaXaX>xX
أحصل على رسالة الخطأ هذه:
SQL غير صالح: 1064 :لديك خطأ في بناء جملة SQL الخاص بك ؛تحقق من الدليل الذي يتوافق مع إصدار خادم MySQL الخاص بك لاستخدام بناء الجملة الصحيح بالقرب من "" ،)
' LIMIT 1' at line 1<br /><b><font color="darkred">SQL QUERY FAILURE:</font></b>SELECT xid FROM xcart_session_history WHERE ip = INET_ATON('165.193.42.141') AND host = '"XxxXx';",)
الحد 1
SQL غير صالح: 1064 :لديك خطأ في بناء جملة SQL الخاص بك ؛تحقق من الدليل الذي يتوافق مع إصدار خادم MySQL الخاص بك لاستخدام بناء الجملة الصحيح "؛" ،)', 'e8bc1df13aab2c25c7560512a5029eb1')' at line 1<br /><b><font color="darkred">SQL QUERY FAILURE:</font></b>REPLACE INTO xcart_session_history (
الملكية الفكرية,
يستضيف,
xid) VALUES (INET_ATON('165.193.42.141'), '"XxxXx';",)
'،' E8BC1DF13AAB2C25C7560512A5029EB1 ')
أجد أن هذه ثغرة أمنية في نظامي لأنها تكشف اسم الجدول وتفاصيل أخرى.
أرغب في منع PHP/MYSQL من إظهار هذه الرسالة على الشاشة.كيف يمكنني تعطيله؟
المحلول
تعيين $debug_mode
في config.php إلى 2
http://help.x-cart.com/index.php?title=X-Cart:Config.php#Correcting_debug_mode
نصائح أخرى
// إيقاف تشغيل جميع الإبلاغ عن الأخطاء
giveacodicetagpre.// الإبلاغ عن جميع أخطاء PHP
giveacodicetagpre.// الإبلاغ عن جميع أخطاء PHP
giveacodicetagpre.استخدم أي من هذا واحد إذا كنت تستخدم قاعدة البيانات ثم حدد Error_Reporting (0)
لإيقاف تشغيل جميع الإبلاغ عن الأخطاء:
giveacodicetagpre.يجب عليك تعيينه في أعلى بعض ملف الرأس الذي يتم تحميله عبر جميع الصفحات.
error_reporting(0);
//هو أكثر أمانا ثم تعديل config.php الملف