Iai*_*ser 5 php windows iis shell-exec
问题
我有一个PHP脚本,用于shell_exec运行pdf到文本转换器。为了简化该问题,我创建了一个简短的脚本,该脚本shell_exec仅用于回显dir命令的输出。
<?php
$cmd = 'C:\\WINDOWS\\system32\\cmd.exe /c ';
echo shell_exec($cmd.' dir');
?>
Run Code Online (Sandbox Code Playgroud)
当我在Apache服务器上运行此程序时,一切都会按预期进行。当我切换到IIS时,好像该行被完全跳过了:没有错误,没有输出,没有日志,什么也没有。
不幸的是,我需要使用IIS,因为我将根据活动目录对用户进行身份验证。
到目前为止,这是我尝试过的方法:
cmd.exe /c发出命令而不是直接发出命令Read & Execute权限SERVICERead & Execute权限NETWORK SERVICERead & Execute权限IUSR_MACHINENAMERead & Execute权限Everyone(不用担心,它不会长期保持这种状态,哈哈)CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers.Execute Permissions为Scripts and Executablesshell_exec只是被跳过了一点。非常感谢您查看此问题,我现在正着手解决这个问题
干杯,伊恩
更新1
我真的不想这样做,但是作为一个停顿,直到找到合适的解决方案,我在Web服务器上运行Apache(运行shell_exec很好),然后通过cURL调用了我的apache脚本。很难看,但是可以用:)。
更新2
我开始认为这并不是IIS或权限本身的问题,而可能是我们网络上某些政策的结果-尽管我无法想象。领域左边有什么想法吗?