问题标签 [shell-exec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 使用 shell_exec('passwd') 更改用户密码
我需要能够通过网页(在受控环境中)更改用户的密码。因此,为此,我正在使用以下代码:
我的问题是这个脚本没有更改用户“testUser”的密码。我究竟做错了什么?
谢谢
php - 如何正确处理 PHP Shell_exec 中的空格?
我通过命令行在 win2003 服务器 PHP 526 上运行。
我有一个命令行字符串:
尝试在 php 代码中执行此操作
导致 foo.exe 失败,因为它将 -p arg 解释为“d:\data”。
$cdm
但是,复制到 Windows shell cmdline的相同字符串会成功执行。
如何正确处理 PHP 中的空格shell_exec
?
php - php shell_exec() 通过 cygwin
我编写了一个脚本,通过pdftex
. 问题是pdftex
只能在linux上运行。
我正在使用shell_exec()
.
我真的没有能力将 linux 机器设置为 Web 服务器。我有我的客户端计算机,但它位于我无法控制的防火墙后面。我确实可以控制我的工作服务器,它运行 SBS 2003 和运行 apache 和 php 的 Windows 2000 虚拟机。据我所知,您无法pdftex
在 Windows 中安装,如果可以,它也无法与shell_exec()
.
有没有办法用cygwin解决这个问题?我可以在 cygwin 中安装 pdftex,然后配置 php 在 cygwin 中运行shell_exec()
命令。如果这是可能的,有人能指出我正确的方向吗?
另外,我想知道是否有其他行动方案。我不介意购买主机,但任何共享主机计划都不支持该应用程序。它必须是虚拟或专用托管计划;我买不起的东西。
php - Exec() 在 Windows 上的 PHP 中没有打开 cmd.exe 安全漏洞?
我需要一个 web 脚本来执行一个 exe 文件,然后将 exe 上的结果返回给 web 请求。
我可以回显 exe 的结果或修改 exe 以将其结果保存到文件中,然后读取文件以回显 Web 请求。
问题是在 IIS 下使用 php 所有 exec() shell_execute() system() 类型函数会出现“无法分叉”错误,因为 IIS 匿名用户 IUSER_%COMPUTER_NAME% 无权访问 C:\windows\system32\cmd 。可执行程序
这可以通过更改此 IIS 匿名用户对 cmd.exe 的权限来解决,但这会严重削弱安全性(我相信)。
有什么方法可以通过 IIS 下的 PHP 脚本调用 Exe 而不向 IIS 匿名用户打开 cmd.exe 吗?
帮助表示赞赏。
为什么我需要这样做?我有一个序列号生成器,当某人通过信用卡购买我的产品时,我的支付处理器需要调用一个 url,将许可证名称作为参数传递,并返回该许可证名称的序列号。
我的许可证密钥生成器是 WinLicense,我有一个 exe。
我需要运行类似的东西
shell_exec("C:\inetpub\wwwroot\test.com\testLicense.exe \"".$regName."\""); // 或 exec() 或 system()
(testLicense.exe 将结果存储在我的 php 脚本可以回显的文件中)
php - 在 PHP 中通过 shell_exec 压缩文件:路径问题
我正在开发一个网络备份服务部分,其中允许用户下载一个 zip 文件,其中包含他们从备份的列表中选择的文件。
压缩过程是通过 shell_exec 命令完成的。为此,我已授予 apache 用户 no-password sudo 对 zip 命令的权限。
我的问题是,因为我不能对包含用户备份文件的文件夹执行“sudo cd /path/to/user/files”,所以我需要指定要压缩的文件的完整绝对路径,然后进入我不想要的 zip 文件。
这就是我的意思:
用户“test1”备份了他们的文件,这些文件存储如下
/home/backups/test1/my pics/pic1.jpg
/home/backups/test1/my pics/pic2.jpg
/home/backups/test1/my图片/pic3.jpg
/home/backups/test1/hello.txt
/home/backups/test1/music/band/song.mp3
当这些文件被压缩时,它们会保留完整的路径,但我只想显示:
my pics/pic1.jpg
my pics/pic2.jpg
my pics/pic3.jpg
hello.txt
music/band/ song.mp3
有没有办法告诉 zip 截断路径,或者为每个文件指定一个自定义路径?
或者有什么方法可以将工作目录更改为用户的根备份文件夹,这样我就可以简单地指定相对文件路径。
感谢您的阅读,希望您能走到这一步,这一切都是有道理的!
php - 在 PHP 中执行 shell 脚本时出错
我正在尝试通过以下方式执行 shell 命令:
但它没有给出任何输出。可能是什么原因?
尽管它不起作用,但以下行按预期工作:
php - 用 PHP 的 shell_exec 调用 bash——慢
我正在使用 PHP 的 shell_exec 函数在我的服务器上调用 bash 脚本。
现在,我以前从 CGI 脚本(“bash -x ...”)运行命令,它更快(即时)。现在,脚本运行(> 10 秒)和生成的页面渲染需要非常缓慢的时间。
有什么想法为什么这么慢?我仍然想从 PHP 而不是 CGI 运行 bash 脚本,因为我的整个站点都被转换为 PHP。也许另一个功能更合适?任何想法,将不胜感激。
java - 调用依赖于外部库的java程序
我正在尝试在 php 中调用一个 java 程序以将其与 Web 界面一起使用。
Java程序依赖于一个外部库:commons-cli-1.2.jar
所以基本上我需要在调用java程序之前导出它;但如果我先将其导出为:
然后调用java程序为:
我认为它为每个调用创建不同的外壳;那么导出对java程序没有任何影响。还是我错了?
否则,它应该在服务器中输出一个文件。但根本没有。那么,有什么问题呢?任何想法?
编辑:但是可能是因为某些参数(例如 para_i)代表输入文件名,所以我必须为此指定完整路径吗?因为我只是假设如果输入文件在同一个工作目录中,就不会有任何问题,不是吗?
edit-2:当我使用命令行时它正确输出;)
php - PHP exec_shell 使用 unrar.exe
我正在运行以下 php 代码;
哪个不起作用...我希望它将文件提取到同一目录中。如果我将 exec 的内容复制到命令行提示符中,它工作得很好,所以有点困惑。
尝试以下;
返回 unrar 帮助文件的最后一行(这是预期的)。
php - 在 exec() 之前保护字符串
我有一个 PHP 应用程序,它接受用户输入的 $imageurl 并执行以下操作:
现在显然我必须采取一些预防措施来阻止用户执行任意代码。例如,如果用户设置$url
为";rm -rf *;"
根本不好。
所以对于初学者来说,我必须过滤掉"
,这样无论他们输入什么,他们都不能从他们的输入中逃脱,成为convert
. 但是我也应该过滤掉;
吗?我见过带有分号的网址......虽然分号在这里确实很危险,但过滤掉"
仍然可以保证我的安全,对吗?但是网址可以包含"
在其中吗?还有其他我应该注意的角色吗?
也许我应该尝试逃避它们,而不是过滤掉字符。那么我应该尝试转义 shell 专门解释的每个字符吗?或者只是逃避"
,因为其他一切都是“预先转义”的,因为它在双引号内?
对不起,我漫无目的的困惑,我只是这方面的新手,想保持安全!
谢谢,
马拉