PHPで、私的に宣言された変数を含むクラスを作成しました。
class testClass {
private $_db_name = 'test_db';
private $_db_user = 'test_user';
private $_db_pass = 'test_pass';
}
偶然にも、クラスをインスタンス化した後、print_r
設定した変数に対してを実行すると、これらのプライベート変数が画面に出力されました。
$test = new testClass();
print_r($test);
戻り値:
testClass Object
(
[_db_name:testClass:private] => test_db
[_db_user:testClass:private] => test_user
[_db_pass:testClass:private] => test_pass
)
これは私にとっていくぶん心配です。他の人がパスワードなどにアクセスせずに含めて利用できるように、機密情報を含むクラスをサーバーにパッケージ化すると、それらを単純にダンプできます。この動作が発生しないようにするために、ここで重要な何かが欠けていますか?オブジェクト内の機密情報を処理するためのより良い方法はありますか?