php - proc_open(或其他有效的函数)

发布于 2024-07-05 18:08:12 字数 484 浏览 4 评论 0原文

我需要通过浏览器执行一些命令行。 我需要在命令行中执行的操作是:

$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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

迷爱 2024-07-12 18:08:12

您无需登录即可更改用户的密码,只需将用户名提供给 passwd 即可。 使用 popen (因为我们不需要在这个小示例中读取),例如

$pp = popen("passwd ${user}", "w");
fwrite($pp, $oldPassword . '\n');
fwrite($pp, $newPassword . '\n');
fwrite($pp, $newPassword . '\n');
pclose($pp);

如果您想读取响应,请使用 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

$pp = popen("passwd ${user}", "w");
fwrite($pp, $oldPassword . '\n');
fwrite($pp, $newPassword . '\n');
fwrite($pp, $newPassword . '\n');
pclose($pp);

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.

玻璃人 2024-07-12 18:08:12

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.

流心雨 2024-07-12 18:08:12

找到这个 更改 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文