是否可以验证给定的文本是JavaScript代码? 它应该是可行的,只需几行(Java)代码 文本是从Web服务器接收的,但我不能信任HTTP头。它只能通过内容来验证 当然可以! 只需使用JS解析器,如(行业参考),并执行以下操作:

是否可以验证给定的文本是JavaScript代码? 它应该是可行的,只需几行(Java)代码 文本是从Web服务器接收的,但我不能信任HTTP头。它只能通过内容来验证 当然可以! 只需使用JS解析器,如(行业参考),并执行以下操作:,javascript,java,Javascript,Java,就这么简单。JS解析器(esprima、acorn等)都基于规范。试着看看由esprima.parse生成的AST。它易于阅读和修改。通过这种方式,您可以检查代码是否没有执行您不想要的操作,是否没有引用某些特定变量,等等 如果您想快速测试一些代码并查看它生成的AST,请转到。当然! 只需使用JS解析器,如(行业参考),并执行以下操作: 就这么简单。JS解析器(esprima、acorn等)都基于规范。试着看看由esprima.parse生成的AST。它易于阅读和修改。通过这种方式,您可以检查代码

就这么简单。JS解析器(esprima、acorn等)都基于规范。试着看看由
esprima.parse
生成的AST。它易于阅读和修改。通过这种方式,您可以检查代码是否没有执行您不想要的操作,是否没有引用某些特定变量,等等

如果您想快速测试一些代码并查看它生成的AST,请转到。

当然! 只需使用JS解析器,如(行业参考),并执行以下操作:

就这么简单。JS解析器(esprima、acorn等)都基于规范。试着看看由
esprima.parse
生成的AST。它易于阅读和修改。通过这种方式,您可以检查代码是否没有执行您不想要的操作,是否没有引用某些特定变量,等等


如果您想快速测试某些代码并查看它生成的AST,请转到。

Java!=JavaScript。我认为这是可能的,但它很可能比“几行代码”@Adjit更深入——问题是如何用Java编写一个程序来检测某些文本是否为JavaScript。似乎没有任何错误的印象认为这两种语言是一样的。@Quentin oooh,也许OP应该澄清一点如果你不相信服务器会把你想要的东西还给你,那么这就是你甚至不尝试这样做的第一个迹象!然而,这是可行的,但你永远无法完全相信它!您需要解析文本,生成一个AST,然后可能通过AST规范运行它。我不知道java有任何javascript AST规范,但如果您使用javascript,请查看java!=JavaScript。我认为这是可能的,但它很可能比“几行代码”@Adjit更深入——问题是如何用Java编写一个程序来检测某些文本是否为JavaScript。似乎没有任何错误的印象认为这两种语言是一样的。@Quentin oooh,也许OP应该澄清一点如果你不相信服务器会把你想要的东西还给你,那么这就是你甚至不尝试这样做的第一个迹象!然而,这是可行的,但你永远无法完全相信它!您需要解析文本,生成一个AST,然后可能通过AST规范运行它。我不知道java的任何javascript AST规范,但如果您使用javascript,请看一看问题是如何用java而不是javascript解析javascript。因为java中没有很多用于此的工具,最简单的方法是从Java调用这个小JS函数。从JDK1.6开始,你就得到了Rhino;或者,如果在Android中,您可以生成(并缓存)一个临时webview来调用相同的东西。对于这样的任务,从应用程序中使用脚本语言(想想Lua、Python和JS)通常比从本机编写算法更容易。关于需求的一个方面是使用Java。问题是如何用Java而不是JavaScript解析JavaScript。因为Java中没有很多用于解析JavaScript的工具,最简单的方法是从Java调用这个小JS函数。从JDK1.6开始,你就得到了Rhino;或者,如果在Android中,您可以生成(并缓存)一个临时webview来调用相同的东西。对于这样的任务,从应用程序中使用脚本语言(想想Lua、Python和JS)通常比从本机编写算法更容易。其中一个需求是使用Java。
function isIsReallyJSCodeOrWhat(code) {
  try {
    esprima.parse(code);
  } catch (err) {
    return false;
  }

  return true;
}