网络浏览器中的Ruby

Ruby in web browser

本文关键字:Ruby 浏览器 网络      更新时间:2023-09-26

我正在寻找下一个问题的解决方案:现在我正在开发一个Rails应用程序。我希望有可能在浏览器中用Ruby编写代码,然后在我的Rails应用程序中执行这些代码。

有现成的解决方案吗?

UPD:

  1. 代码高亮显示怎么样
  2. Native Client呢

https://github.com/codegram/rack-webconsole

或者,您可以简单地通过post将Ruby代码传递给服务器,然后调用eval eval(CODE)

您应该注意,尤其是第二种方式是非常不安全的,因为它使执行代码能够完全访问您的系统。

如果真的必须这样做,"把Ruby锁在保险箱里"可以帮助保护它

编辑:

有关语法高亮显示,请参阅代码镜像和ACE。两者都是不错的源代码编辑器,支持ruby。

目前还没有任何可在现实世界中部署的解决方案,但您可以将text/x-ruby视为概念验证。

还有Cloud9IDE,它的功能是基于浏览器的IDE,并将代码持久化回您的服务器以供运行。

eval就是您想要的。用户输入Ruby代码,该代码将被张贴到您的rails应用程序中。在您的控制器中,您需要评估提交的Ruby代码。

但是。你可能不想要这个。如果确实需要评估和运行用户提交的代码,那么您很可能需要重新考虑对该功能的需求。这几乎是不可能做到安全的。即使你从某些用户那里保护它,它也可以通过XSS被利用;它可以通过这个"功能"在短时间内接管服务器。