因此,古老的标准是,使用 Eval 是坏的,因为它可能造成重大安全问题, 特别是当您在评估某些可能来自用户输入的事物时。这百分之百地说得通,我从未遇到过避免使用 Eval 的问题。不过,最近我遇到了一种奇怪的状况,但这种情形让我对此类事物的思考有点不同。
我写了一个联署材料的功能 有点像:
function someFun(param, callback) {
bool = someOtherFun(param);
if(bool)
callback();
else
return false;
}
这已被大量删除, 但本金是一样的: 它需要另一个函数, 并且基于返回值, 要么执行作为参数提供的函数, 要么返回错误的函数。 它让我觉得, 使用在 F12 中的 JS 控制台可以像 Eval( txtbox. value ) 那样容易地利用它。 这重要吗?
在F12的世界里,在我看来,Eval似乎是我们最不担心的。 任何知道注射式袭击的人都可能知道F12是什么。 我错了吗?