gpt4 book ai didi

javascript - 如何在网站中嵌入在线 ruby​​/javascript 代码执行器

转载 作者:行者123 更新时间:2023-12-02 18:56:43 25 4
gpt4 key购买 nike

我正在尝试构建一个小应用程序来测试我的 ruby​​ 代码。我用谷歌搜索了它,但没有太大帮助(可能是选词错误)。我正在尝试创建 codecademy/codeschool/tryruby 网站提供的功能。他们提供了一个在线运行代码的集成环境。我无法找到从哪里开始,即为什么这次没有代码:(。只需要知道我必须深入研究哪些具体的技术/链接对于此功能。

如果存在此类功能,请提供任何在线资源供阅读。

最佳答案

无法给出所有步骤,但基础知识很清楚(Ruby 示例):

  • 创建一个基本前端 - 可以只是一个大文本区域表单和一个提交按钮
  • 在服务器上,获取表单内容,使用 eval 执行它并将输出返回到页面(使用简单的erb)
  • 如果您希望它具有某种互动性,您可以用已有的内容补充表单。

之后,就可以进行交互了(以 ajax 风格进行,以避免刷新并提供更好的体验),但这是锦上添花,我将从上面的基础知识开始。

警告:执行最终用户发送的任意代码可能(并且将会)危险。这看起来更像是一个实验,如果它变得更多,一定要检查你的安全性(你基本上给了我在你的服务器上执行我想要的任何代码的权利)。

执行任意代码的安全性是一个庞大而复杂的主题。首先:

  • 您的问题类似于“Code injection”问题 - 只不过您实际上是在打开门。基本示例:如果我提交停止进程的指令怎么办?如果我开始删除您服务器计算机上的所有文件夹?
  • 您可能想查看Ruby safe level
  • 更好的是,查看 Sven Fuch“Safe mode ”来解析和执行代码

您的目标应该是完全“沙箱”代码的执行:使其在单独的专用进程(甚至虚拟机)中运行,在最坏的情况下,该进程可能会在不影响其他进程的情况下被销毁,并且访问权限非常有限资源。

祝你好运!

关于javascript - 如何在网站中嵌入在线 ruby​​/javascript 代码执行器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15266255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com