网页控制shell 命令如何实现?
rt,想问比如一些网站后台实现的在页面上直接直接修改 nginx.conf
内容,点击“保存” 之后服务器就能获取到修改的配置,并自动重启nginx了。
只是举了一个例子。想问这种操作是通过页面在用户点击按钮之后,发出了一个http请求,后台接收到之后去操作文件内容,然后调用shell命令实现的么? 或者这样的需求通常是怎么实现的?
好像之前看到过 webshell ,但是感觉不是同一个东西。
5 回复
child_process模块
@ProfutW 感谢你,不过child_process 这个就是下层 nodejs 调用shell 的模块了啊,emmm 我是想问,后台接收到用户的修改请求是否通常就是 http请求来交互了?
websocket
没错,大概过程就是是这样的:用户点击保存按钮,发送一个http POST到后端服务,后端服务进程通过文件操作接口修改相关配置文件,配置文件更改完成后,通过创建子进程 child_process.exec
调用相关shell命令或程序。当然,你这么做的结果可能导致别人窃听和劫持数据,通过发送相关http请求即可改变你的服务器!这就是一种系统后门和漏洞了,也就是webshell。所以这种操作一定要做好安全,不然容易被黑。
来自✨ Node.js开源项目精选✨