2017-02-21 1 views
2

パスワードなどの機密データに「変数を設定する」というアクションを使用すると、値がログファイルに記録されます。この種の変数でこの動作を防ぐ方法はありますか?私たちは、install4jバージョン6.0.4を使用しています。また、カスタムアクションを作成しようとしましたが、context.setVariable(...)で変数を設定すると、同じ効果があり、Variable changed: my.password=abc123[class java.lang.String]のようなログエントリが生成されます。このログエントリを避ける必要があります。機密変数の値が記録されないようにするにはどうすればよいですか?

答えて

1

あなたはそれらの変数のための

context.registerHiddenVariable("variableName") 

を呼び出すことができます。

6.1では、事前定義済みのインストーラ変数の場合、構成パネルには「セッション情報、ログファイルに値を書き込まない」チェックボックスがあります。

+0

ありがとうございます。このオプションは6.0.4にもありますが、インストールディレクトリの '.install4j'フォルダにある' i4jparams.config'ファイルに値が書き込まれるのを防ぐことはできません。したがって、このファイルからすべての人が機密データを読み取ることができます。 – Hardie82

+1

カスタマイズされたアクションと組み合わせた 'registerHiddenVariable(...)'を持つ解決策は問題なく動作します。 – Hardie82

+0

さて、もう1つの問題が残っています。サプレスされたインストーラ変数の値を '[installtion-dir]/.install4j/i4jparams.conf'ファイルに出力しないようにすることはできますか?それらがロギングされるのを避けるために、いくつかの設定ファイルにクリアテキストとして印刷することは、まったく安全ではありませんか? – Hardie82

関連する問題