PHP/MySQL-Fehlermeldung ausblenden
Frage
Ich habe eine Website basierend auf X-Wagen.Es funktioniert gut.Wenn ich jedoch zur Adresse gehe (manuell auf den Link zugreife), www.mysite.com/"Xx<XaXaXXaXaX>xX
Ich erhalte diese Fehlermeldung:
UNGÜLTIGE SQL: 1064 :Sie haben einen Fehler in Ihrer SQL -Syntax.Überprüfen Sie das Handbuch, das Ihrer MySQL -Serverversion entspricht, damit die richtige Syntax in der Nähe von '"verwendet wird).
' 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';",)
'Limit 1
UNGÜLTIGE SQL: 1064 :Sie haben einen Fehler in Ihrer SQL -Syntax.Überprüfen Sie das Handbuch, das Ihrer MySQL -Serverversion entspricht, damit die richtige Syntax in der Nähe verwendet werden kann.', 'e8bc1df13aab2c25c7560512a5029eb1')' at line 1<br /><b><font color="darkred">SQL QUERY FAILURE:</font></b>REPLACE INTO xcart_session_history (
IP,
Gastgeber,
xid) VALUES (INET_ATON('165.193.42.141'), '"XxxXx';",)
',' E8BC1DF13AAB2C25C7560512A5029EB1 ')
Ich stelle fest, dass dies eine Sicherheitslücke in meinem System darstellt, da dadurch der Tabellenname und andere Details preisgegeben werden.
Ich möchte verhindern, dass PHP/MYSQL diese Meldung auf dem Bildschirm anzeigt.Wie kann ich es deaktivieren?
Lösung
Satz $debug_mode
in config.php auf 2
http://help.x-cart.com/index.php?title=X-Cart:Config.php#Correcting_debug_mode
Andere Tipps
// Deaktivieren Sie alle Fehlerberichte
error_reporting(0);
// Alle PHP-Fehler melden
error_reporting(E_ALL);
// Alle PHP-Fehler melden
error_reporting(-1);
Verwenden Sie eines davon, wenn Sie eine Datenbank verwenden, und wählen Sie dann error_reporting(0) aus.
So deaktivieren Sie alle Fehlerberichte:
error_reporting(0);
Sie sollten es oben in einer Header-Datei platzieren, die auf allen Seiten geladen wird.
error_reporting(0);
//Ist sicherer Dann ändern Sie die config.php Datei