2014-01-05 119 views
1

我正在用PHP写一个安装脚本,用户必须输入root用户的用户名和密码。从控制台读取密码输入

目前我使用:

fgets(STDIN) 

读取用户名和密码,但是这并不安全,因为其他人可能一眼,看到键入的密码。

有没有办法从用户输入密码,使它看起来像这样:“**”,类似于它在网页中的样子?

+0

似乎并没有成为一个放之四海而皆准的解决办法,但是看看类似的问题:http://stackoverflow.com/questions/187736/command-line-password-prompt-in-php和http://stackoverflow.com/questions/297850/is-it-really-not-possible-to-write-a-php-cli-password-prompt-that-hides-the-pass – sachleen

+1

因为它是一个安装脚本为什么不只是告诉安装者这是事实。这是一次性的活动,看起来不值得。 –

+0

找到你从其他stackoverflow问题的答案..希望可以帮助。(LInk下面提供)http://stackoverflow.com/questions/187736/command-line-password-prompt-in-php http://stackoverflow.com/问题/ 297850 /它真的不可能写一个php-cli-password-prompt-that-hide-the-pass希望这有助于.. :) –

回答

1

字面上我们不能像'*****'那样存储。但是你可以很难恢复。

我把一些散在我的web配置,为环境变量,说MYSQL_PASS_HASH

然后,我像做md5(getenv('MYSQL_PASS_HASH').'gibberish$qwefsdf'),然后将其密码。

您的密码将不能随便保存在某个地方,只有当一个人同时具有你的web配置和数据库包含它可以恢复。