【发布时间】:2015-06-07 11:11:56
【问题描述】:
目标是在 PHP 中创建一个系统,允许用户提交字符串,将 javascript 函数应用于该字符串,然后在 javascript 函数处理后返回字符串的值。该网站有很多用 PHP 编写的其他功能,因此不会改变。但是,如果需要,我愿意使用其他堆栈来完成项目的这个组件(node.js、Java 等)
有没有人知道如何通过以下限制来实现这一点:
- 处理用户提交值的函数必须是javascript
- javascript 函数的处理必须在服务器端
- javascript 函数不应访问文件系统(加载文件、保存文件等)或任何类型的基于 IO 功能
- javascript 函数应该不能占用超过一定数量的内存(比如说 5 mb),但可以定义(不是 必须在运行时,但在某处可配置)
- javascript函数的运行时间不能超过一定的毫秒数(比如说3000毫秒),但是可以定义(不是 必须在运行时,但在某处可配置)
- 如果处理 javascript 出错,系统应该能够返回
- javascript 函数不应调用任何外部服务(http 请求等)。我基本上只希望系统能够执行利用“基于 CPU”功能的代码,而无需连接到任何外部源。我将它放在引号中,因为我知道这实际上不是一个术语,但希望它有助于澄清事情。
本质上,我正在尝试创建一个系统,该系统可以处理来自服务器端不受信任来源的 Javascript 函数并返回函数的值。我一直在寻找任何图书馆或对此案例研究的参考,但没有找到任何理想的东西。
【问题讨论】:
-
我已经提供了一个带有约束的目标,并且正在寻找一种能够在明确解决约束的同时实现目标的架构方法。
标签: javascript php serverside-javascript