2014-01-05 2 views
1

PHP로 설치 스크립트를 작성합니다. 사용자가 루트 MySQL 사용자의 사용자 이름과 비밀번호를 입력해야합니다.콘솔에서 비밀번호 입력 읽기

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 질문에서 답변을 찾았습니다. 도움이 되셨습니다. (아래 제공되는 링크) http://stackoverflow.com/questions/187736/command-line-password-prompt-in-php http://stackoverflow.com/ 질문/297850/is-it-really-not-possible-write-a-php-cli-password-prompt-that-hides-the-pass 희망이 도움이 .. .. :) –

답변

1

'*****'을 그대로 저장할 수 없습니다. 하지만 복구하기가 어렵습니다.

나는 환경 변수로, MYSQL_PASS_HASH

가 그럼 난 후 암호입니다 md5(getenv('MYSQL_PASS_HASH').'gibberish$qwefsdf') 같이 할 말을, 내 웹 설정에 약간의 해시를 넣어.

비밀번호는 문자 그대로 어딘가에 저장되지 않으며 웹 설정과 데이터베이스가 모두 포함 된 경우에만 복구 할 수 있습니다.