【发布时间】:2010-06-08 03:59:12
【问题描述】:
我正在为我的应用程序编写一个设置/安装程序脚本,基本上只是一个不错的配置文件前端。配置变量之一是 mysql 的可执行路径。在用户输入后(例如:/path/to/mysql-5.0/bin/mysql 或只是 mysql,如果它在他们的系统路径中),我想验证它是否正确。我最初的反应是尝试使用"--version" 运行它,看看会发生什么。然而,我很快意识到这将导致我编写这行代码:
shell_exec($somethingAUserHasEntered . " --version");
...这显然是一件非常糟糕的事情。现在,这是一个仅为受信任用户设计的设置脚本,并且可能已经对系统具有较高级别的访问权限,但我仍然认为上述解决方案不是我想要编写的。
有没有更好的方法来验证可执行路径?也许一个不会暴露出巨大的安全漏洞?
【问题讨论】: