【问题标题】:How I get permission of exec function in PHP我如何在 PHP 中获得 exec 函数的权限
【发布时间】:2015-12-31 12:05:15
【问题描述】:

在我的 php 服务器中,我无法访问 exec 函数。如何启用它?这对我的服务器有风险吗?

【问题讨论】:

  • 这里不适合回答这个问题。联系您的托管服务的支持人员,但只有在您彻底阅读了 execpassthru 上的 php 文档和反引号运算符之后,因为这些功能虽然有时很有用,但要避免使用,尤其是当您编写一个网络应用程序。但是,如果您谈论的是本地 PHP 安装:请检查 safe_mode ini 设置
  • 你可以参考这里Stackoverflow question

标签: php exec


【解决方案1】:

您可以通过在php.ini 中禁用safe_mode() 来启用它。

至于您是否应该出于安全原因执行此操作,我认为将其禁用会更安全一些,但如果您以安全的方式编写代码并确保验证、清理和正确引用输入。使用带有常量参数的exec() 往往是相当安全的。但是,像exec('myprogram ' . $_POST['user_id']); 这样的操作是非常非常危险的。

要安全地将参数传递给exec();,您需要使用escapeshellarg()

<?php

if (isset($_POST['user_id']))
{
    $userId = $_POST['user_id'];
}
else
{
    $userId = '0';
}

exec('myprogram ' . escapeshellarg($userId));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 2011-05-26
    • 2023-03-23
    • 2012-04-19
    • 2015-12-18
    • 2019-09-19
    • 1970-01-01
    相关资源
    最近更新 更多