加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

从PHP / Java / Python Web应用程序调用shell命令(包括那些需要r

发布时间:2020-12-13 17:03:59 所属栏目:PHP教程 来源:网络整理
导读:我期待开发一个远程系统管理Web应用程序(例如Webmin).显然,我需要调用 shell命令来执行root或其他特定的非nobody用户发出的命令. 这项任务的一般准则是什么? 我现在想到的唯一解决方案是在特殊端口上运行Web服务器,该端口只能由本地和VPN连接的用户访问(通
我期待开发一个远程系统管理Web应用程序(例如Webmin).显然,我需要调用 shell命令来执行root或其他特定的非nobody用户发出的命令.

这项任务的一般准则是什么?

我现在想到的唯一解决方案是在特殊端口上运行Web服务器,该端口只能由本地和VPN连接的用户访问(通过防火墙).但也许有一些特殊的技巧可以保护这样的应用程序,即使它暴露在公共网络上?

解决方法

由于我们讨论的是用于控制本机任务的Web应用程序,因此您需要考虑几个方面(至少对于 Java,但通常是针对每个精心设计的解决方案):

>使用异步模型执行本机任务,因为其中一些可能需要更长时间,并且在浏览器中,用户不知道机器或互联网是否有问题,或者其他什么.
>不要直接使用Java Runtime #exec()导致很容易让事情无法正常工作或出错,或者在不同的机器上使用不同的代码,或者至少小心使用它:请参阅JavaWorld article关于可能的陷阱.>如果可以将应用程序分为两部分:webapplication和执行任务的“无头代理”(并与Web应用程序安全地通信).这样,通过一个Web应用程序,您可以控制多台计算机(仅安装了“代理”),当计算机出现问题时,Web应用程序仍然具有响应性,并可能启动所需的恢复步骤.>当在同一台机器上运行时(webapplication和带有可执行命令的代理程序),如果应用程序“自行搜索”,则需要“备份计划”,从而影响您对计算机的访问.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读