Escondendo PHP / MySQL mensagem de erro
Pergunta
Eu tenho um site com base no X-Cart.É um trabalho muito bem.No entanto, quando eu ir para o endereço (manualmente acessando o link) www.mysite.com/"Xx<XaXaXXaXaX>xX
Recebo esta mensagem de erro:
SQL INVÁLIDA: 1064 :Você tem um erro em sua sintaxe SQL;verifique o manual que corresponde ao seu Versão do servidor MySQL para o direito de utilizar sintaxe próximo '",)
' 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';",)
LIMITE de 1
SQL INVÁLIDA: 1064 :Você tem um erro em sua sintaxe SQL;verifique o manual que corresponde a sua versão do servidor MySQL para a direita sintaxe para usar perto de ';",)', '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')
Eu acho que isso seja uma vulnerabilidade no meu sistema, porque revela o nome da tabela e outros detalhes.
Eu gostaria de manter PHP/MYSQL a partir de mostrar esta mensagem na tela.Como posso desativá-lo?
Solução
Conjunto $debug_mode
no config.php 2
http://help.x-cart.com/index.php?title=X-Cart:Config.php#Correcting_debug_mode
Outras dicas
// Desliga todos os relatórios de erro
error_reporting(0);
// Relatório de todos os erros do PHP
error_reporting(E_ALL);
// Relatório de todos os erros do PHP
error_reporting(-1);
use qualquer um dos que se você usar o banco de dados, em seguida, selecione error_reporting(0)
Para desligar todos os relatórios de erro:
error_reporting(0);
Você deve configurá-lo em cima de algumas arquivo de cabeçalho que é carregado em todas as páginas.
error_reporting(0);
// é mais seguro , em seguida, modificando o arquivo config.php