代码之家  ›  专栏  ›  技术社区  ›  user5690054

如何在PHP中获得exec函数的权限

  •  0
  • user5690054  · 技术社区  · 10 年前

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

    1 回复  |  直到 10 年前
        1
  •  1
  •   Will Brian Hodge    10 年前

    您可以通过禁用 safe_mode() 在里面 php.ini .

    至于出于安全原因,您是否应该这样做,我想说,禁用它更安全,但如果您以安全的方式编写代码,并确保验证、净化和正确引用输入,风险应该是最小的。使用 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));