2009-10-23 4 views
1

명령 줄 스크립트의 일부로 암호를 읽으려고하지만 입력 된 암호가 화면에 나타나지 않습니다. 이것은 명령 행 응용 프로그램에서 상당히 일반적인 기능인 것으로 보이지만 내 Google-fu는이 기능의 작동 방식을 파악하지 못했습니다. 그것은 OS의 기능입니까? 어떻게하면 콘솔에 쓸 수 없도록 입력 스트림을 차단해야합니까? PHP 커맨드 라인 스크립트에서 이것을 사용하고 싶지만, 이해할 수없는 것을 사용할 수는 없습니다.PHP 명령 줄 : 입력 된 문자를 콘솔에 표시하지 않고 입력 된 암호를 읽으려면 어떻게해야합니까?

일부 독립적 검색은 this 링크를 산출했으며, 아래쪽에서 mysqladmin은 STDIN을 사용하여 암호를 읽지 않습니다. 그들은 어떻게 그 일을합니까, 어떻게이 기능을 구현할 수 있습니까?

+0

에서 찾을 수 있습니다 ', 당신은 항상 입력을 허용 할 당신 자신의 TTY를 열 수 있습니다. –

답변

0

누군가가 인터넷 검색을하는 경우에 대한 응답.

순수 PHP에서는 불가능합니다. 해결책은 Linux 용 작은 쉘 스크립트 또는 Windows 용 소형 프로그램을 실행하는 것입니다.

쉘 스크립트는 zsh을 쉘과 같을 것이다 : 전체 작업 구현 작곡가에서 Seldaek에 의해 작성되었습니다

/usr/bin/env zsh -c 'stty -echo; read -r mypassword; stty echo; echo $mypassword' 

, 당신은 mysqladmin 데이터 '에 대한 질문에 대답하기 https://github.com/Seldaek/cli-prompt

관련 문제