2

PHP アプリケーションでバグ提出クラスを作成しています。$_SERVER例外がスローされた時点で全体をキャプチャし、ユーザーがバグレポートを送信することを決定した場合は$_SERVER、問題の説明、時間などの他の有用な情報と共に配列をデータベースに保存します.

キャプチャ$_SERVERしたものをバグ レポート フォームに渡す予定$_SESSIONですが、これを行うと、システムの悪用に使用される可能性のあるデータが公開されるのではないかと心配しています。カップルに名前を付けるには:

  • SERVER_SOFTWARE
  • DOCUMENT_ROOT

私は自分自身を危険にさらしていますか?

4

2 に答える 2

1

そのようなクラスには意味がありません。
コードがすべての関連情報を自動的に、安全かつ正確に保存できるのに、なぜユーザーが介入するのですか?

例外がスローされたときに、関連するすべての情報を例外ハンドラーに記録できないのはなぜですか?

あなたの質問に文字通り答えるために-はい、サーバー情報のいくつかは機密と見なされました。
バグレポートのアイデアがユーザーに自分の電子メールでレポートテキストを送信するように依頼することでない限り、それを公開する方法はわかりませんが。

于 2013-03-09T07:04:21.380 に答える
-1

クラスは必須ではありません。

代わりに、スクリプトに次のテンプレートを使用します。

try {
    // You usual script here - but do not use die - use throw new Exception(...)
    // Could use include directive for example

    // Of course you may need to re-throw some exceptions

} catch (Exception $e) {
    // Here you can record the fault (i.e. details of the exception $e,
    // server variables $_SERVER, S_SESSION and the like

    // Now give the user the internal server error and a pretty message saying
    // something along the lines that you are sorry and it is not their fault.
}

このテンプレートは、サイトの内部動作をリモート クライアントに公開しません。セキュリティへの影響はありません。

于 2013-03-09T07:09:30.763 に答える