내 코드에서 eval을 사용하고 있으며 최근에 심각한 보안 문제가 있음을 알게되었습니다. eval()이 Javascript에서 사용되는 경우. 가장 일반적인 시나리오는 eval()을 사용하여 변수 이름을 작성한 다음 여기에 해당 변수의 값을 가져 오는 것입니다.다음 코드에서 eval()을 제거하려면 어떻게해야합니까? - Javascript
var a = "2" // could be any value
work(a);
function work(a)
{
var l1 = "something";
var l2 = "something else";
var l3 = "something different";
alert(eval("l"+a));
// alerts "something else"
};
이와 같은 상황에서 eval()에 대한 대안이 있습니까?
윈도우 [ "l"+ a]를 사용하여 시도했지만 변수가 전역이고 document.getElementById ("l"+ a)이고 둘 다 작동하지 않는 경우에만 작동합니다.
도움을 주시면 감사하겠습니다.
감사합니다. 노먼.
'평가'는 사용자가 평가 된 것을 입력하게하는 경우에만 * 위험합니다. 그러나 그것은 또한 나쁜 습관이고, 99.9 %의 경우에서 피할 수 있습니다. 배열로 – Matchu