为了账号安全,请及时绑定邮箱和手机立即绑定

php 函数“exec”不适用于窗口的 systeminfo 命令

php 函数“exec”不适用于窗口的 systeminfo 命令

PHP
守着星空守着你 2021-11-26 14:58:19
我试图让网站在用户导航到该页面时向用户提供有关某台计算机的信息。我正在使用 php 7.1。这不是面向外的,并且在不重要的服务器上,因此安全性不是我现在关心的问题。我已经确保 php.ini 中的一些超时设置被扩展,但我可能错过了一些东西。我已经直接在服务器的命令行中尝试过这个命令,它已经奏效了。我已经使用 exec 函数尝试了其他命令,并且它们都有效。我已经打开 display_errors 并且页面上没有出现错误,它只是一个空白屏幕。页面加载完成得非常快:不到一秒钟。这就是我正在努力工作的页面上的全部内容<?php $dCommand1 = 'systeminfo/s *ipaddress* /u *administrator* /p *password* > %TEMP%\\sysinfo.txt';$dCommand2 = 'type "%TEMP%\\sysinfo.txt"';$dCommand3 = 'del "%TEMP%\\sysinfo.txt"';exec($dCommand1);$dOutput = array();exec($dCommand2, $dOutput);foreach($dOutput as &$dRow){    echo $dRow;    echo '<br>';}exec($dCommand3);?>什么在 php 中起作用:echo exec('ipconfig');echo exec('whoami');什么在 cmd 中起作用:systeminfo/s *ipaddress* /u *administrator* /p *password* > %TEMP%\\sysinfo.txttype "%TEMP%\\sysinfo.txt"del "%TEMP%\\sysinfo.txt"我已经打开 display_errors 并且页面上没有出现错误,它只是一个空白屏幕。感谢您提供的任何帮助。
查看完整描述

2 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

解决方案是使用域凭据。不知何故,在服务器的命令行中,我可以使用我试图从中获取信息的计算机上的本地凭据,但在 php 页面上,我必须使用域凭据来访问计算机。


查看完整回答
反对 回复 2021-11-26
?
烙印99

TA贡献1829条经验 获得超13个赞

无需将输出重定向到文件。摆脱重定向,直接读取结果。


$dCommand1 = 'systeminfo/s *ipaddress* /u *administrator* /p *password*';

exec($dCommand1, $dOutput);

foreach ($dOutput as $dRow) { // no need for &

    echo "$dRow<br>";

}


查看完整回答
反对 回复 2021-11-26
  • 2 回答
  • 0 关注
  • 172 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信