我正在开发一个JavaScript记忆卡游戏。最后,用户有能力将他的分数提交给数据库。最好的4分将赢得奖项。确保比赛比分提交ajax请求的最佳方法?
在游戏结束时,将打开一个包含表单的Lightbox,其中用户输入他的名字,姓氏和电子邮件地址。然后将得分通过ajax发布到api。此分数也包含在发布请求中。
经验丰富的用户可以在浏览器开发控制台中轻松查找分数提交请求,并可以通过curl或自己的构建ajax请求轻松发送假分数。
什么是预防作弊的好方法?
我正在开发一个JavaScript记忆卡游戏。最后,用户有能力将他的分数提交给数据库。最好的4分将赢得奖项。确保比赛比分提交ajax请求的最佳方法?
在游戏结束时,将打开一个包含表单的Lightbox,其中用户输入他的名字,姓氏和电子邮件地址。然后将得分通过ajax发布到api。此分数也包含在发布请求中。
经验丰富的用户可以在浏览器开发控制台中轻松查找分数提交请求,并可以通过curl或自己的构建ajax请求轻松发送假分数。
什么是预防作弊的好方法?
为用户会话生成一个UUID并将其存储在它们的cookie或JS本地存储器或其他东西中。然后将与此UUID绑定的分数保存在数据库中。然后保存与UUID绑定的名称和电子邮件。
基本上不计算/发送客户端的原始分数。将原始答案从游戏发送到服务器,并让服务器计算并保存得分。
你可以尝试这样的事情
if(@isset($_SERVER['HTTP_REFERER']) &&
$_SERVER['HTTP_REFERER']=="http://yourdomain/ajaxurl")
{
//Request identified as ajax request
}
这将确保该推介网站是你的。我听说这可以通过修改标题黑客...但它只是一个游戏,如果他们可以通过XSS和检查指向HTTP并可以生成自己的标题,他们应该赢得....