Ocultar mensaje de error PHP / MySQL
Pregunta
Tengo un sitio web basado en x-cart .Está funcionando bien.Sin embargo, cuando voy a la dirección (accediendo manualmente al enlace) www.mysite.com/"Xx<XaXaXXaXaX>xX
, obtengo este mensaje de error:
SQL no válido: 1064: tienes un error en su sintaxis de SQL;Compruebe el manual que corresponda a su Versión del servidor MySQL para la sintaxis adecuada para usar '", el límite de
' 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 no válido: 1064: usted tener un error en su sintaxis de SQL;Compruebe el manual que corresponda a Su versión del servidor MySQL para la sintaxis adecuada para usar cerca '; ",)', 'e8bc1df13aab2c25c7560512a5029eb1')' at line 1<br /><b><font color="darkred">SQL QUERY FAILURE:</font></b>REPLACE INTO xcart_session_history (
Ip,
host,
xid) VALUES (INET_ATON('165.193.42.141'), '"XxxXx';",)
', 'E8BC1DF13AAB2C25C7560512A5029EB1')
Encuentro que esto es una vulnerabilidad en mi sistema porque revela el nombre de la tabla y otros detalles.
Me gustaría mantener el PHP / MySQL mostrar este mensaje en la pantalla.¿Cómo puedo deshabilitarlo?
Solución
Establecer $debug_mode
en config.php a 2
http://help.x-Cart.com/index.php?title=x-cart :config.php#correcting_debug_mode
Otros consejos
// Desactivar todos los informes de error
error_reporting(0);
// Reportar todos los errores de PHP
error_reporting(E_ALL);
// Reportar todos los errores de PHP
error_reporting(-1);
Use cualquiera de eso si usa la base de datos, seleccione Error_Reporting (0)
Para desactivar todos los informes de errores:
error_reporting(0);
Debe configurarlo en la parte superior de algún archivo de encabezado que se carga en todas las páginas.
error_reporting(0);
// es más seguro luego modificando el archivo config.php