我正在制作一款JavaScript游戏,而且我不想让任何人作弊。有什么方法可以在JavaScript控制台中检测并可能记录命令问题吗?我正在寻找的骨架就像:
consoleCommands = "";
window.console.command = function ( thiscmd )
{
consoleCommands += thiscmd;
}
window.onbeforeunload = function ( )
{
// send log of commands to server
$.ajax({url:'recordNewCommandLog',method:'POST',data:{cmdlog:consoleCommands}});
};
当然,攻击者可能会覆盖它,但我会尝试对其进行模糊处理,以使他很难弄清楚他的命令是否首先被记录。
答案 0 :(得分:3)
除了您收到的答案(以及重复的链接)之外,我还要您考虑一下:
你为什么关心被骗的人?
更不用说,你如何在没有控制台的情况下进行调试?您将很难再现错误并解决问题。
不要阻止控制台。保护您的服务器(如果适用)并离开客户端" hackable"无论如何,客户端是用户的域名,而不是您的域名。
答案 1 :(得分:1)
var arr = [];
console.log = function () {
arr.push([].slice.call(arguments));
// if `arr.length` , do stuff
return console.log
}