最近の JMP サミットで、私はデータベースへの資格情報を含む変数を非表示にする方法について開発者に尋ねました。 私の現在の解決策は 80% 進んでいます。 暗号化されたスクリプトの変数に資格情報を設定し、そのスクリプトを Include() して、データベースに接続するスクリプトでその変数を使用します。 メイン スクリプトを開いた人は誰でも、ログ ファイルに移動して変数を検索することで資格情報を確認できます。 JSL 開発者はサミットで需要があり、私が話をした他の人たちは変数を非表示にする方法がわかりませんでした。
それから私はこれを見ました:暗号化とグローバル変数 (jmp.com)
変数の前に 2 つのアンダースコアを置くだけで、それらはほとんど非表示になります。 Show ( __myVar)、Print ( __myVar)、または Write ( __myVar) を試行すると、結果は空白になります。 素晴らしい! しかし、__myVar をログに直接入力するだけで、ログがそれを定義してくれることがわかりました。 実際、これは変数を表示する最も簡単な方法の 1 つです...
意図せぬ抜け穴のようです。 二重アンダースコアはこれらすべてのスクリプト メソッドを停止し、スクリプト内の変数名の上にマウスを移動しても内容は表示されません。 しかし、変数を直接入力するだけで内容を表示する本当に明白な方法があります。
メイン スクリプトを暗号化せず、接続文字列のみを暗号化するのには十分な理由があります。 これがウィッシュリストの商品なのか、それとも何かが足りないのかわかりません。