我想让用户编写小型自定义应用程序(想想 Wordpress 上的主题或插件)并在我的网站上上传/运行它们。
我正在考虑为此使用 Sinatra 应用程序,因为它会给用户很大的灵活性,然后在我的 rails 应用程序中将它们作为中间件运行。
但我无法弄清楚这对安全的影响。我尝试创建一个简单的 sinatra 应用程序作为中间件,它可以访问所有的 rails 模型和所有东西——所以这很糟糕。有没有办法让机架保持这些独立,以便 sinatra 应用程序有效地沙盒化并且不能做任何坏事(在 API 或我为它们设置的某种特定方式进行通信之外)?
可能有一种更简单的方法可以实现这一点,我也没有想到,所以欢迎提出想法。谢谢!