2017-05-08 83 views
0

我想创建一个在线彩票系统,用户必须猜测1到10之间的数字。如果数字与javascript生成的随机数匹配,他将赢得彩票。我使用的方法是:用户控制台可以读取本地javascript变量吗?

!function(){ 
 
    var x = Math.floor((Math.random() * 10)); 
 
    var btn = document.getElementById("btn"); 
 
    btn.addEventListener("click", function(){ 
 
    var user_input = document.getElementById("text").value; 
 
    if(user_input == x) { 
 
     alert("Won Lottery", user_input, x); 
 
    } 
 
    else { 
 
     alert(user_input + x + "sorry"); 
 
    } 
 
    }); 
 
}();
<h2>Guess a number between 1 and 10 </h2> 
 
<input id="text" type="text"> 
 
<button id="btn" type="submit">Submit</button>

我的问题是,能黑客打开JS控制台并以某种方式寻找当地x变量的值?

+0

是的。控制浏览器的人可以看到你的所有代码并操纵任何值。 (在这种情况下,它会有点棘手,但基本点是你根本不能相信浏览器;你甚至不能保证客户端*是一个浏览器。) – Pointy

+0

@Pointy他如何访问'x'变量?这不是全球性的,所以他可以用'window.x'来阅读它。 – user31782

+0

当x在范围内时,您可以在其上放置一个断点来暂停执行 – scoon1329

回答

2

enter image description here

在代码执行这一点上,x是范围之内。你可以在右栏看到x = 0,所以这只是将user_input改为0然后结束执行的一个例子。

相关问题