只需几行(Java)代码就可以实现。
文本是从Web服务器接收的,但我不能信任HTTP标头。它仅需通过内容进行验证。

最佳答案

当然!
只需使用JS解析器,例如Esprima(行业中的引用),然后执行以下操作:

function isIsReallyJSCodeOrWhat(code) {
  try {
    esprima.parse(code);
  } catch (err) {
    return false;
  }

  return true;
}


就这么简单。 JS解析器(esprima,橡子等)均基于Estree规范。尝试看看esprima.parse产生的AST。它易于阅读和修改。这样,您可以检查代码是否执行了您不想要的操作,未引用某些特定变量等。

如果您想快速测试一些代码并查看它产生了什么AST,请转到http://esprima.org/demo/parse.html

10-06 10:53