Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-关注通过网站运行bash脚本_Php_Linux - Fatal编程技术网

PHP-关注通过网站运行bash脚本

PHP-关注通过网站运行bash脚本,php,linux,Php,Linux,我正在开发一个游戏面板,我用PHP和BASH构建它。因此,当按下按钮时,web面板通过运行bash脚本来控制游戏服务器。到现在为止,一直都还不错。我的问题出现在我需要运行bash脚本时,因为运行它们的用户需要sudo权限,否则脚本将出现意外行为: 我应该创建一个新用户并赋予它sudo权限,然后通过SSH(通过PHP)登录到服务器吗?如果是这样的话,我怎样才能安全地存储登录凭据,这样如果黑客破坏了我的网站,他就找不到了 我应该为特定脚本授予www data sudo权限吗?这是一种危险的做法吗 有

我正在开发一个游戏面板,我用PHP和BASH构建它。因此,当按下按钮时,web面板通过运行bash脚本来控制游戏服务器。到现在为止,一直都还不错。我的问题出现在我需要运行bash脚本时,因为运行它们的用户需要sudo权限,否则脚本将出现意外行为:

  • 我应该创建一个新用户并赋予它sudo权限,然后通过SSH(通过PHP)登录到服务器吗?如果是这样的话,我怎样才能安全地存储登录凭据,这样如果黑客破坏了我的网站,他就找不到了

  • 我应该为特定脚本授予www data sudo权限吗?这是一种危险的做法吗

  • 有没有更好更安全的方法从网页上运行bash脚本


  • 我是一名PHP新手,我的第一个项目是运行在Ubuntu服务器上的游戏面板。请发发慈悲。:)

    您试图在这里执行的操作非常危险,如果您可以在网页中执行bash脚本,您将被黑客攻击,黑客将拥有对您机器的完全访问权限


    您需要做什么取决于您的项目是什么,但基本上您希望设置某种形式的服务器来运行bash命令,并让您的网页调用该服务器。这不是直截了当的。

    您在这里试图做的事情是非常危险的,如果您可以在网页中执行bash脚本,您将被黑客攻击,黑客将拥有对您机器的完全访问权限


    您需要做什么取决于您的项目是什么,但基本上您希望设置某种形式的服务器来运行bash命令,并让您的网页调用该服务器。这不是直截了当的。

    我不会直接从PHP运行任何bash脚本,而是使用消息队列将两者解耦

    让PHP脚本向exchange发送消息,并将操作标记为“正在进行”。然后,让bash脚本作为接收消息的队列的使用者运行,对其进行处理并运行必要的脚本。最后,将消息传递到另一个由PHP使用的队列,并根据结果将操作状态更新为“完成”或“失败”。这不是一个同步过程,但它是处理它的更安全的方法

    建议如下:


    我不会直接从PHP运行任何bash脚本,而是使用消息队列将两者解耦

    让PHP脚本向exchange发送消息,并将操作标记为“正在进行”。然后,让bash脚本作为接收消息的队列的使用者运行,对其进行处理并运行必要的脚本。最后,将消息传递到另一个由PHP使用的队列,并根据结果将操作状态更新为“完成”或“失败”。这不是一个同步过程,但它是处理它的更安全的方法

    建议如下: