Auf dem jüngsten JMP Summit habe ich Entwickler gefragt, wie ich eine Variable verbergen könnte, die Anmeldeinformationen für eine Datenbank enthielt. Meine aktuelle Lösung ist zu 80 % geschafft. Ich lege die Anmeldeinformationen in einer Variablen in einem verschlüsselten Skript fest, füge dann dieses Skript Include() hinzu und verwende die Variable in einem Skript, das eine Verbindung zur Datenbank herstellt. Jeder, der das Hauptskript öffnet, kann die Anmeldeinformationen sehen, indem er in die Protokolldatei geht und die Variable nachschlägt. Die JSL-Entwickler waren auf dem Summit gefragt und andere Leute, mit denen ich gesprochen habe, waren sich nicht sicher, wie man eine Variable versteckt.
Dann habe ich das gesehen: Verschlüsselung und globale Variablen (jmp.com)
Wenn Sie einfach zwei Unterstriche vor eine Variable setzen, werden diese ausgeblendet ... fast. Wenn Sie Show ( __myVar), Print ( __myVar) oder Write ( __myVar) versuchen, ist das Ergebnis leer. Großartig! Aber dann habe ich festgestellt, dass das Protokoll es für Sie definiert, wenn Sie einfach __myVar direkt in das Protokoll eingeben. Das ist tatsächlich eine der einfachsten Möglichkeiten, die Variable anzuzeigen ...
Scheint eine unbeabsichtigte Lücke zu sein. Der doppelte Unterstrich stoppt alle diese Skriptmethoden und wenn Sie mit der Maus über den Variablennamen im Skript fahren, wird der Inhalt nicht angezeigt. Aber es gibt diese wirklich offensichtliche Möglichkeit, den Inhalt anzuzeigen, indem man einfach die Variable direkt eingibt.
Ich habe gute Gründe dafür, nicht das Hauptskript, sondern nur die Verbindungszeichenfolge verschlüsseln zu wollen. Ich bin mir nicht sicher, ob es sich um einen Artikel auf der Wunschliste handelt oder ob mir etwas fehlt.