php - proc_open(或其他有效的函数)
我需要通过浏览器执行一些命令行。 我需要在命令行中执行的操作是:
$login
<login name>
<password>
$passwd
<old password>
<new password>
<retype new password>
那么,如何使用 proc_open
函数? 或者我应该使用另一个函数来做到这一点?
Adam Wright,我已经尝试过你的示例,但我无法更改用户密码。 我需要在脚本中做任何其他事情(除了定义 $user、$userPassword 和 $newPassword 之外)吗?
谢谢
I need to do some command lines through a browser.
What I need to do in a command-line would be:
$login
<login name>
<password>
$passwd
<old password>
<new password>
<retype new password>
So, how can I do this using the proc_open
function?
Or should I use another function to do this?
Adam Wright, I've tried your example, but I just can't change users password.
do I need to do any other things in the script (besides defining $user, $userPassword and $newPassword)?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您无需登录即可更改用户的密码,只需将用户名提供给 passwd 即可。 使用 popen (因为我们不需要在这个小示例中读取),例如
如果您想读取响应,请使用 proc_open,然后从给定的 stdout 句柄中读取。
我希望这一切都得到很好的保护,并且您对用户名进行了大量清理。
You don't need to issue login to change the password for a user, just give their name to passwd. Using popen (as we don't need to read in this tiny example), something like
If you want to read the responses, use proc_open, and just read from the stdout handle you're given.
I hope this is all well secured, and that you have a lot of sanitisation on the username.
http://pecl.php.net/package/PAM 可能是您可以使用的东西。
它有一个函数 bool pam_chpass(string $username, string $oldpassword, string $newpassword [, string &$error ])。
但我从来没有用过它。
http://pecl.php.net/package/PAM might be something you can use.
It has a function
bool pam_chpass(string $username, string $oldpassword, string $newpassword [, string &$error ])
.But I've never used it.
找到这个 更改 Linux 或 UNIX系统密码使用互联网上的PHP脚本。
关于如何创建用户可以更改自己的系统密码的网站的非常详细的描述。
Found this Change Linux or UNIX system password using PHP script in the internet.
A very detailed description on how to create a website where a user can change his own system password.