2013-08-06 82 views
1

我有一個腳本,用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上?

謝謝。

+0

您是否需要'。/ myscript'的其他輸出,或者是否可以由另一個進程運行?你需要知道從它返回的數據,如果是這樣的話添加'&'應該這樣做'exec(./ myscript $ host $ name $ password&')'這將基本上產生另一個進程來處理exec ...(類似於在這種情況下的一個線程) – brendosthoughts

回答

1

您可以在開始執行C腳本後簡單地提示密碼,並通過PHP exec中的管道轉發密碼。

2

由於您處於運行環境。我會暫時將您的密碼存儲在環境變量(SET)中,並在您的exec()中使用此變量。這樣你的密碼就不會出現在ps

+0

一個小例子請。 P.S.名稱和密碼正在改變(它們是用於用戶身份驗證的) – nn4n4s

+0

既然你已經接受了一個答案,我懷疑這仍然是userfull,但是爲了設置一個環境變量:http://php.net/manual/en/function.putenv.php –