我有一個腳本,用C寫的,這需要3個參數:主機名,密碼,就像這樣:隱藏命令的參數()
./myscript 1.1.1.1 name mypassword
我把這個使用PHP exec命令(需要,PHP中沒有的功能)。
exec('./myscript $host $name $password');
在Linux上,使用ps命令,我可以看到:
./myscript 1.1.1.1 name password.
如何隱藏我的密碼,你不能用ps看到它在Linux上?
謝謝。
我有一個腳本,用C寫的,這需要3個參數:主機名,密碼,就像這樣:隱藏命令的參數()
./myscript 1.1.1.1 name mypassword
我把這個使用PHP exec命令(需要,PHP中沒有的功能)。
exec('./myscript $host $name $password');
在Linux上,使用ps命令,我可以看到:
./myscript 1.1.1.1 name password.
如何隱藏我的密碼,你不能用ps看到它在Linux上?
謝謝。
有一些例子可以做你喜歡的事情: http://www.lenzg.net/archives/256-Basic-MySQL-Security-Providing-passwords-on-the-command-line.html 請記住,你的密碼在一小段時間內仍然可見。
您可以在開始執行C腳本後簡單地提示密碼,並通過PHP exec中的管道轉發密碼。
由於您處於運行環境。我會暫時將您的密碼存儲在環境變量(SET
)中,並在您的exec()
中使用此變量。這樣你的密碼就不會出現在ps
。
一個小例子請。 P.S.名稱和密碼正在改變(它們是用於用戶身份驗證的) – nn4n4s
既然你已經接受了一個答案,我懷疑這仍然是userfull,但是爲了設置一個環境變量:http://php.net/manual/en/function.putenv.php –
您是否需要'。/ myscript'的其他輸出,或者是否可以由另一個進程運行?你需要知道從它返回的數據,如果是這樣的話添加'&'應該這樣做'exec(./ myscript $ host $ name $ password&')'這將基本上產生另一個進程來處理exec ...(類似於在這種情況下的一個線程) – brendosthoughts