【发布时间】:2020-10-30 14:00:10
【问题描述】:
我正在建立一个网站,我想在我的网页上显示一个终端,它以交互方式运行脚本(python 或 bash)。
类似于 trinket.io,但我想使用我的服务器上的 python 解释器或 bash,所以我可以安装 pip 包并控制脚本的各个方面。
我正在考虑类似交互式框架的东西,它显示终端和其中执行的内容,obv 支持用户交互。
一个很好的例子是https://create.withcode.uk/,这正是我想要的,但我想用我自己的模块和生态系统将它托管在我自己的服务器上。这在安全方面似乎也相当不错。
有类似的吗?
【问题讨论】:
-
如果您设法做到这一点,请特别注意安全性,因为任何人都可以在您的机器上执行任意代码!
-
@smwhr 确实目标是运行一个脚本,仅此而已,就像一个固定终端,里面有“python script.py”,没有别的了
-
如果您正在寻找用户交互性,我建议您使用诸如烧瓶或破折号之类的东西。提供与您所描述的类似的东西将很快被转换为 Web 攻击、主机服务器上的妥协以及谁知道还有什么的反弹点。
-
@r2evans 谢谢我会看看它,关于安全问题,如果终端的东西被固定在一个脚本上,这怎么可能是危险的?也许我错过了什么
-
您提到的 “交互式框架” 和 “显示终端” 让我尖叫着有人能够与解释器的 REPL 进行交互。即使唯一运行的是提示用户输入的脚本......我仍然发现任何类型的 REPL 与用户交互都会带来重大的安全风险。我相信以这种方式使用 python(等)的一般“最佳实践”是在 dash/flask/shiny(R 语言)基础设施之一中工作,该基础设施设计有围绕 a 的 HTML 实体(例如,输入框、操作按钮)反应式编程前提。
标签: python html bash web terminal