En la reciente Cumbre JMP, pregunté a los desarrolladores cómo podía ocultar una variable que contenía credenciales para una base de datos. Mi solución actual es el 80% del camino recorrido. Configuro las credenciales en una variable en un script cifrado, luego incluyo() ese script y uso la variable en un script que se conecta a la base de datos. Cualquiera que abra el script principal puede ver las credenciales yendo al archivo de registro y buscando la variable. Los desarrolladores de JSL tuvieron mucha demanda en la Cumbre y otras personas con las que hablé no estaban seguras de cómo ocultar una variable.
Entonces vi esto: Cifrado y variables globales (jmp.com)
Si simplemente pones dos guiones bajos antes de una variable, los ocultará... casi. Si intenta Mostrar ( __myVar), Imprimir ( __myVar) o Escribir ( __myVar), el resultado estará en blanco. ¡Excelente! Pero luego descubrí que si simplemente escribes __myVar directamente en el registro, el registro lo define por ti. En realidad, esa es una de las formas más fáciles de mostrar la variable...
Parece una laguna jurídica no intencionada. El doble guión bajo detiene todos esos métodos de secuencia de comandos y si pasa el cursor sobre el nombre de la variable en la secuencia de comandos, no mostrará el contenido. Pero existe una forma realmente obvia de mostrar el contenido simplemente ingresando la variable directamente.
Tengo buenas razones para no querer cifrar el script principal, solo la cadena de conexión. No estoy seguro si este es un artículo de la lista de deseos o si me falta algo.