Скрытие сообщения об ошибке PHP / MySQL
Вопрос
У меня есть веб-сайт, основанный на X-Тележка.Все работает нормально.Однако, когда я перехожу по указанному адресу (вручную переходя по ссылке) 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 (
ip - адрес,
ведущий,
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
Другие советы
// Отключить все отчеты об ошибках
error_reporting(0);
// Сообщать обо всех ошибках PHP
error_reporting(E_ALL);
// Сообщать обо всех ошибках PHP
error_reporting(-1);
используйте любой из них, если вы используете базу данных, затем выберите error_reporting(0)
Чтобы отключить все сообщения об ошибках:
error_reporting(0);
Вы должны установить его в верхней части какого-нибудь заголовочного файла, который загружается на всех страницах.
error_reporting(0);
//является безопаснее затем модифицируя config.php файл