PHP / MySQLエラーメッセージを隠す
質問
私は X-CART に基づいてウェブサイトを持っています。うまく機能しています。ただし、アドレスに移動すると(リンクに手動でアクセスする)www.mysite.com/"Xx<XaXaXXaXaX>xX
このエラーメッセージ:
無効なSQL: 1064:あなたは SQL構文のエラーが発生しました。あなたに対応するマニュアルを確認してください NEAR '"、)
' 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';",)
'の制限を使用する正しい構文のためのMySQLサーバーのバージョン 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,
Host,
xid) VALUES (INET_ATON('165.193.42.141'), '"XxxXx';",)
' 'E8BC1DF13AAB2C25C7560512A5029EB1')
テーブル名やその他の詳細を明らかにするので、これが私のシステムの脆弱性になると思います。
PHP / MySQLをこのメッセージを画面に表示させ続けたいと思います。どうやって無効にできますか?
解決
config.phpから2
にある$debug_mode
を設定します
http://help.x-cart.com/index.php?title=x-cart:config.php#correction_debug_mode
他のヒント
//すべてのエラー報告をオフにする
error_reporting(0);
.
//すべてのPHPエラーを報告
error_reporting(E_ALL);
.
//すべてのPHPエラーを報告
error_reporting(-1);
.
データベースを使用する場合は、その1つを使用してからERROR_REPOTTING(0)
を選択します。すべてのエラー報告をオフにする:
error_reporting(0);
.
すべてのページにロードされているいくつかのヘッダーファイルの上に設定する必要があります。
error_reporting(0);
//はより安全です config.php ファイル