1

大規模なアプリケーション (一部のサードパーティ製アプリケーションを含む) を保護しようとしており、プログラマーや潜在的なハッカーがエラーを隠蔽できるようにするものを無効にしたいと考えています (これは、いくつかの監視スクリプトを使用してログをリアルタイムでチェックし、特定するためです)。セキュリティ違反)。

error_reporting と ini_set を (他のいくつかの機能と共に) 無効にしました。サプレッション オペレータを無効にするために、php 拡張機能の悲鳴もインストールしました (エラーはユーザーに表示されませんが、すべてがログに記録されます)。

現在、デフォルトの php error_handler サーバー側を設定するソリューションを探しています (現在のように set_error_handler を使用する代わりに)? (エラー環境のより良いログ記録のために) カスタム エラー ハンドラを使用したいのですが、set_error_handler 関数を使用してエラーを抑制できるようにしたくありません。

したがって、基本的には、この機能を無効にする (そして、すべてのエラーがデフォルト ハンドラーによってログに記録されるようにする) か、このサーバー側を設定する解決策 (おそらく拡張機能またはその他のトリック) を見つけて、ログを改善することができます。

どんなアイデアでも本当に役に立ちます!

アップデート

mod_php で Apache を使用しているため、[PATH] を使用して特定のスクリプトの disable_functions を使用することはできません。これを変更することは、正確にはオプションではありません。

4

1 に答える 1

0

各リクエストの前に実行される prepend スクリプトの使用を試みることができます

php_value auto_prepend_file prepend.php

このスクリプトでは、エラー ハンドラを設定できます。

<?php

set_error_handler('yourHandler');

/* EOF */

そして、このスクリプトだけに関数の使用権を与えset_error_handler()ます。

于 2013-11-06T11:39:53.343 に答える