是否可以检测用户是否更改了发送给客户端的javascript?
我想要的是:
这不应该触发函数:
User opens the debug window by a mistake ->
Nothing happens.
这应该触发函数:
User opens the debug window ->
The user makes changes to the Javascript ->
Fire "You cheated" function.
这可能吗?如果是的话,它有多可靠?
为什么我需要这个?
我正在使用排行榜制作点击游戏。由于它是一个点击游戏,所以我不能在用户点击元素后立即将所有内容发送到服务器。
一般人可以“爆发点击”鼠标约15-20次/秒,直接约1分钟。这会立即使服务器过载。
我过去一直在做这样的事情:
Every 10 seconds run this pseudo function:
$.ajax({
url: 'updateScore',
data: {'score' : game.Score, 'time' : 'currentTime'},
})
在updateScore,我这样做:
Get the current score and last-edited-time from DB
$differenceScore = game.Score - DB.score;
$differenceTime = $diff = strtotime(game.Time) - strtotime(DB.last-edited-time)
$averageClickingSpeed = 17.5
if( ( $differenceScore / $averageClickingSpeed) < $differenceTime){
// Do DB stuff
} else {
// The user cheated, or had an avg clicking speed of more than 17.5
}