在最近的 JMP 高峰會上,我向開發人員詢問如何隱藏包含資料庫憑證的變數。 我目前的解決方案已經完成了 80%。 我在加密腳本的變數中設定憑證,然後 Include() 該腳本並在連接到資料庫的腳本中使用該變數。 任何打開主腳本的人都可以透過前往日誌檔案並尋找變數來查看憑證。 JSL 開發人員在高峰會上很受歡迎,而我採訪過的其他人則不確定如何隱藏變數。
然後我看到了這個:加密和全域變數 (jmp.com)
如果你只是在變數前面加上兩個底線,它就會隱藏它們......幾乎。 如果嘗試顯示 (__myVar)、列印 (__myVar) 或寫入 (__myVar),則結果將為空白。 偉大的! 但後來我發現如果你直接在日誌中輸入 __myVar ,日誌就會為你定義它。 這實際上是顯示變數的最簡單方法之一...
看起來像是無意的漏洞。 雙底線會停止所有這些腳本方法,如果將滑鼠懸停在腳本中的變數名稱上,它將不會顯示內容。 但是有一個非常明顯的方法可以透過直接輸入變數來顯示內容。
我有充分的理由不想加密主腳本,而只想加密連接字串。 不確定這是否是願望清單項目或我是否遺漏了某些東西。