Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从不受信任的源服务器端处理Javascript_Javascript_Php_Serverside Javascript - Fatal编程技术网

从不受信任的源服务器端处理Javascript

从不受信任的源服务器端处理Javascript,javascript,php,serverside-javascript,Javascript,Php,Serverside Javascript,目标是在PHP中创建一个系统,允许用户提交字符串,对该字符串应用javascript函数,然后在javascript函数处理该字符串后返回该字符串的值。该网站还有很多其他用PHP编写的功能,所以这一点不会改变。但是,如果需要,我愿意使用其他堆栈来完成项目的这个组件(node.js、Java等) 有没有人知道如何在以下限制条件下实现这一点: 处理用户提交值的函数必须是javascript javascript函数的处理必须在服务器端完成 javascript函数不应具有对文件系统(加载文件、保存文

目标是在PHP中创建一个系统,允许用户提交字符串,对该字符串应用javascript函数,然后在javascript函数处理该字符串后返回该字符串的值。该网站还有很多其他用PHP编写的功能,所以这一点不会改变。但是,如果需要,我愿意使用其他堆栈来完成项目的这个组件(node.js、Java等)

有没有人知道如何在以下限制条件下实现这一点:

  • 处理用户提交值的函数必须是javascript
  • javascript函数的处理必须在服务器端完成
  • javascript函数不应具有对文件系统(加载文件、保存文件等)或任何基于IO的访问权限 功能性
  • javascript函数不能占用超过一定数量的内存(比如说5MB),但可以定义(不是 必须在运行时,但可在某处配置)
  • javascript函数的运行时不能超过一定的毫秒数(比如3000毫秒),但可以定义(而不是 必须在运行时,但可在某处配置)
  • 如果处理javascript时出错,系统应该能够返回
  • javascript函数不应该能够调用任何外部服务(http请求等)。我本质上只希望系统只能够执行利用“基于CPU”功能的代码,而无需连接到任何外部源。我把它放在引号里,因为我知道这实际上不是一个术语,但希望它有助于澄清问题

  • 本质上,我正在尝试创建一个系统,该系统可以从服务器端不受信任的源处理Javascript函数,并返回函数的值。我一直在寻找关于这个的任何库或案例研究的参考,但没有找到任何理想的东西。

    首先想到的是Node.js,服务器端JavaScript。从这条路线往下看,有一个沙箱模块


    如果你想更加安全,你可能想在它自己的独立机器/服务器/docker映像上运行它,以便在有人设法逃离沙箱时限制曝光。

    我提供了一个带有约束的目标,我正在寻找一种体系结构方法,既能实现目标,又能清楚地解决制约因素。