Supongamos que tenemos una función que llama eval (); de esta manera:
<html>
<head>
<script>
var obj = function(){
var bar = null;
this.Setter = function(){
bar = 1
};
this.Getter = function(){
return bar;
}
}
function DoEval(str,Setter){
eval(str);
}
function Test(){
var o = new obj();
var a = alert;
DoEval(document.getElementById("Text1").value,o.Setter);
var bar = o.Getter();
if(bar == null) { a("Failed!"); return; }
a("Congratulations!");
return;
}
</script>
</head>
<body>
Code:<br>
<textarea id="Text1" cols="100" rows="25"></textarea>
<br>
<button onclick="Test();">Test</button>
</body>
</html>
Puede que nunca recupere el control de DoEval (), pero esta es otra pregunta, porque ahora quiero saber, ¿se puede confiar en que funcione? (¿Puede el usuario templar con la función Prueba () para devolver un mensaje positivo?) Y si no, ¿es posible protegerlo utilizando javascript?