我正在 Windows XP Server 上编译并执行使用 PHP 系统命令的 C 程序。
如果 C 程序包含诸如 System("shutdown -a")
之类的系统命令或任何系统命令,则会关闭我的系统。
我希望拒绝此类命令。当程序尝试运行系统命令时,如何将“权限被拒绝”显示为输出?
这是我的代码。
PHP 脚本包含-
system(gcc code.c -o out); system(out.exe);
IF C程序包含-
int main() { system("shutdown -r"); }
有没有办法阻止这些命令运行?
最佳答案
Windows runas 命令
您也许能够使用 Windows runas
命令以特定用户身份运行命令。并在该用户的配置文件中设置白名单命令列表。 https://superuser.com/questions/42537/is-there-any-sudo-command-for-windows
滚动您自己的命令白名单
用 PHP 或 C 创建一个允许通过 C 程序运行的命令列表,如果该命令不在批准列表中,则该命令将被拒绝。或者你喜欢危险地生活,创建一个黑名单,并定义一堆你不想运行的东西。
关于php - C 程序中的 block 系统命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16215931/