gpt4 book ai didi

php - 在windows中写一个隐藏密码的php cli密码提示真的不行吗?

转载 作者:可可西里 更新时间:2023-11-01 13:59:15 25 4
gpt4 key购买 nike

我花了几个小时试图找到一种在 php 中编写跨平台密码提示的方法,它隐藏了用户输入的密码。虽然这在 Unix 环境中通过使用 stty -echo 很容易实现,但我已经尝试了 passthru() 和 system() 调用的各种方法来让 Windows 做同样的事情但无济于事。

我试过:

passthru('set /p pass=Password: ');
system('echo %pass% > out.txt');
$pass = file_get_contents('out.txt', 'r');

这似乎卡在 passthru('set/p pass=Password: ');不允许我输入任何文本的行,必须用 Ctrl-c 终止。

我还尝试了 fgetc 和 fgets 的各种方法以及打印退格字符来隐藏输入,因为这在其他语言中有效。但是,PHP 似乎无法与回车前的文本进行交互。

我真的很想找到一种方法来完成这项工作,这是一项不可能完成的任务还是可以完成的任务?

请注意,我知道我可以将 php 脚本包装在批处理文件中并将密码作为命令行参数传递,但在这种情况下这对我不起作用。

最佳答案

PHP 似乎没有 IOCTL 或 STTY 扩展。我发现了以下技巧 here :

<?php
echo 'Password: ';
$pwd = preg_replace('/\r?\n$/', '', `stty -echo; head -n1 ; stty echo`);
echo "\n";
echo "Your password was: {$pwd}.\n";
?>

关于php - 在windows中写一个隐藏密码的php cli密码提示真的不行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/297850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com