所以我正在构建一个小型应用程序,您可以在其中评估一些 JavaScript 代码片段,但我遇到了一个巨大的“道德”问题:
最初我想使用eval
,但我发现了它的危险,所以我很快就寻找替代方案。
我能找到的最接近的东西是函数构造函数,但一方面它不评估简单的代码片段,例如 2 + 3
,因为它需要 return
声明,而eval
不会,而且它在安全性方面也并不比 eval
好多少。 (至少从我收集到的信息来看)。
还有其他方法可以像代码一样计算字符串吗?
最佳答案
如果您想评估 JavaScript 代码,请使用 eval
。危险吗?是的。但这只是因为评估 JavaScript 是危险的。没有安全的方法来评估 JavaScript。如果您想评估 JavaScript,请使用 eval
。
采取一切可能的安全预防措施。如果不了解您想要支持的内容以及计划如何实现它的更多详细信息,就不可能知道您应该采取哪些安全预防措施。
这可能有用:
Is It Possible to Sandbox JavaScript Running In the Browser?
关于javascript - 评估代码的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44659731/