注意:我希望这篇文章能够提供一些标签建议。
我想为我的用户提供一种在服务器上以编程方式操作数据的方法。这可以通过使用浏览器内置代码编辑器来实现,稍后执行,与https://www.onx.ms所采用的方式类似。
我希望避免编写DSL(这将成为一个障碍),并且希望用户编写的语言是基于JavaScript或Ruby的。
我首要关注的是安全性。我了解允许用户生成的代码在服务器端运行的危险,但是我可以采取哪些措施来消除风险?
像http://railsforzombies.com这样的网站是否真的使用
我想为我的用户提供一种在服务器上以编程方式操作数据的方法。这可以通过使用浏览器内置代码编辑器来实现,稍后执行,与https://www.onx.ms所采用的方式类似。
我希望避免编写DSL(这将成为一个障碍),并且希望用户编写的语言是基于JavaScript或Ruby的。
我首要关注的是安全性。我了解允许用户生成的代码在服务器端运行的危险,但是我可以采取哪些措施来消除风险?
像http://railsforzombies.com这样的网站是否真的使用
irb
,还是比那更简单?
while(true){}
循环或分配大量内存没有任何防御措施。在沙盒中的iframe中的Javascript具有与Caja相同的安全保证(以及缺乏dos保护),同时更易于使用和更标准化。 - Macil