2013-08-06 83 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 –