そのため、Eval の使用は重大なセキュリティ上の問題を引き起こす可能性があるため、良くないというのが古くからの基準です。特に、どこかでユーザー入力に由来する可能性のあるものを評価しているシナリオでは。これは 100% 理にかなっており、Eval の使用を回避するのに問題があったことは一度もありません。しかし、最近奇妙な状況に直面していたので、この種のことについて少し違った考え方をするようになりました。
私は次のようなJS関数を書きました:
function someFun(param, callback) {
bool = someOtherFun(param);
if(bool)
callback();
else
return false;
}
これはかなり簡略化されていますが、原理は同じです。別の関数を呼び出し、その戻り値に基づいて、パラメーターとして提供された関数を実行するか、false を返します。しかし、この種のものは、F12 の JS コンソールを使用して Eval(txtbox.value) と同じくらい簡単に悪用できると思いました。それは問題ですか?
この F12 の世界では、Eval の心配はほとんどないように思えます。インジェクション攻撃とは何かを知っている人なら誰でも、F12 とは何かを知っている可能性があります。私が間違っている?