为了账号安全,请及时绑定邮箱和手机立即绑定

网页中的 shell 是真 shell 还是其他?

网页中的 shell 是真 shell 还是其他?

慕容3067478 2019-03-12 17:15:03
我看到一些网站比如 Docker 官网的 Try it,里面的 Terminal 是真的把命令发给服务器执行把结果返回还是怎么做的?PS:我尝试用 PHP 写了一个,前端把获取到的命令,提交, PHP 用 exec() 之类的函数执行,把打印出来的返回给前端。但这样虽然能执行一些简单的命令,但可以说完全达不到人家的那种效果。首先是不安全,其次是无法运行像 iPython 之类的交互环境。
查看完整描述

4 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

  1. 首先,是发给服务器而不是 js 执行,这个很清楚。

  2. 个人猜测,是一个模拟器的概率不大,因为要重新实现几乎所有的 docker 命令。比较大的可能是先过滤程序名(例如只允许 help、docker 之类的命令),然后调用 exec 函数。

  3. 安全起见,可以在执行程序之前切换为受限用户。


查看完整回答
反对 回复 2019-04-13
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

Docker输入ls -l后会提示你:

This is an emulator, not a shell. Try following the instructions.


查看完整回答
反对 回复 2019-04-13
  • 4 回答
  • 0 关注
  • 573 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信