首页 > 解决方案 > 堆栈跟踪中的评估是邪恶的吗?

问题描述

在一个 Vue 应用程序上,我最近发现堆栈跟踪包含很多“eval”。许多 Vue 例程都是这种情况,而且当我调用一个函数时,在 Vue 中的某个地方通过函数中的参数传递。

所以,如果我添加这个:

const A = (fB) => fB();
const B = () => true;
(() => {
    A(B);
    console.warn("Fb");
})();

铬日志:

Formae.js?41dd:15 Fb
eval    @   Formae.js?41dd:15

抱歉,我会 - 我很困惑,我也怀疑我的英语语法。

我的第一个问题是:这是邪恶的……我的意思是,危险吗?这是安全漏洞吗?这是 Vue 的问题吗?或者这只是一个 Node.js 和后端问题,对前端没有安全影响?

另一方面,虽然我很早就知道 eval 被他邪恶的安全弱点光环所包围,但我主要关心的是性能成本:

我使用 Vue 来构建一个 UI,从 objetcs 请求方法,这与反应性没有直接关系 - 我只需要在设置时显示它的输出:因此,我已经将它冻结在 Vue.$set 方法中。

我应该将我的方法与 Vue 完全分开,并将它们作为 fetch API 调用吗?换句话说,我应该把它们放在后端吗?并通过在我的 package.json 添加命令来启动它(但我不知道该怎么做)?(脚本:{服务:...}}

谢谢

标签: javascriptnode.jsvue.js

解决方案


推荐阅读