Al recente JMP Summit stavo chiedendo agli sviluppatori come avrei potuto nascondere una variabile che conteneva credenziali in un database. La mia soluzione attuale è all'80% del percorso. Imposto le credenziali in una variabile in uno script crittografato, quindi includo() quello script e utilizzo la variabile in uno script che si connette al database. Chiunque apra lo script principale può vedere le credenziali accedendo al file di registro e cercando la variabile. Gli sviluppatori JSL erano molto richiesti al Summit e le altre persone con cui ho parlato non erano sicure su come nascondere una variabile.
Poi ho visto questo: Crittografia e variabili globali (jmp.com)
Se metti solo due caratteri di sottolineatura prima di una variabile, li nasconderà... quasi. Se provi Mostra ( __myVar), Stampa ( __myVar) o Scrivi ( __myVar), il risultato sarà vuoto. Grande! Ma poi ho scoperto che se digiti __myVar direttamente nel registro, il registro lo definisce per te. Questo è in realtà uno dei modi più semplici per mostrare la variabile...
Sembra una scappatoia non voluta. Il doppio carattere di sottolineatura interrompe tutti quei metodi di script e se passi con il mouse sul nome della variabile nello script non ne mostrerà il contenuto. Ma esiste un modo davvero ovvio per mostrare i contenuti semplicemente inserendo direttamente la variabile.
Ho buone ragioni per non voler crittografare lo script principale, solo la stringa di connessione. Non sono sicuro se si tratta di un articolo della lista dei desideri o se mi manca qualcosa.