PEARで処理しているサイトを引き継いだんですが、DB関係の処理で困ったことになっています。クエリの処理は下の例のようになっています。
lang
1$res = $con->query($sql); 2if(PEAR::isError($res)){ 3 die('エラー:'.$res->getMessage().'<br>デバック:'.$res->getDebugInfo()); 4}
何かしらのDBのエラーがあると、$result->getDebugInfo()で、ユーザーに直接エラー全体や関連クエリを表示していて問題になっています。
これはセキュリティ上ありえないことです。
ユーザーにエラーを表示するのを止めて変わりに、サイトにDBエラーがあった場合は自分宛にメールを飛ばしたいと思っています。
そうすれば問題を警告されますし、セキュリティリスクを回避しながらデバッグできるからです。
こうするには、PEARライブラリにあるgetDebugInfo()関数を見つけて変更すればいいと思っていたんですが、まったく動作しないので困っています。
関数はPEAR.phpクラスファイルにあったのですが、
関数をどう変更しても、「$res->getDebugInfo()」がスクリプトでコールされるときには反映されていません。
このエラーコードを表示させずに、メールを送るにはどうすればいいでしょうか?
本当に困っています!よろしくお願いします!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。