2017-08-05 3 views
1

セキュリティ上の理由から、サーバー側またはクライアント側のJavaScriptで変数にコンソールにアクセスして印刷する(またはスニッフィングする)方法がありますか?NodeJS変数にアクセスしますか?

アカウントの機密データを暗号化するためにパスフレーズを変数に格納してから、.jsファイルを難読化することは安全ですか?

+0

ようこそスタックオーバーフロー! [ツアー]を見て回り、[ヘルプ]、特に[*どのように良い質問をしますか?](/ help/how-to-ask)を読んでください。もちろん、変数にアクセスできます。あなたはどういう意味ですか? –

+0

* "アカウントの機密データを暗号化して(.jsファイルを難読化する)パスフレーズを変数に保存することは安全ですか?" *公開/非公開のペアの公開鍵である場合のみ。 (もしそうなら、難読化は必要ありません) –

+1

あなたが求めていることは私には分かりません。クライアントでは、あなたが望むことを何でもすることができます。クライアントはサーバー変数に直接アクセスできません。パスフレーズ?クライアント側のすべてにアクセス可能です。 –

答えて

0

でどこでもアプリケーションでこのパスフレーズにアクセスすることができます一般に消費される。一部のサービスではクライアントキーが提供されていますが、これはクライアント固有のものです。

サーバー側では、キーは自由に使用できます。ただし、ソースコードにハードコーディングされるべきではありません。代わりに、それらをノード環境に注入し、ソースコード内にprocess.env.VARIABLE_NAMEのように使用します。

0

変数のロギングを意味しますか?あなたのコードでは console.log(variable) でちょうどいいです。実行しているサーバーの端末に表示されます。展開サーバーの場合、それは本当にあなたがホスティングしている場所によって異なりますが、あなたは

Herokuのログ

しかし、そうでない場合はあなたのような何かを行うことができ、たとえばにconsole.logはHerokuの上で、ログに表示されます明白な理由のために、実行時に外部から変数にアクセスすることができないはずです。

0

変数をjsファイルに保存しないでください。 jsファイルに格納する代わりに、コマンドライン引数としてアプリケーションを起動するときにパスフレーズを入力することができます。このようにして、アプリケーションを起動した人だけがパスフレーズの値を知ることになります。誰もそれを盗聴したり、アクセスすることはできません。あなたは

node app.js <passphrase> 

のようにコマンドライン引数を渡すことができますし、それが可能になるので、通常、あなたは、クライアント側のキーを格納する必要はありません

console.log(process.argv) 
関連する問題