Php 保护竞赛分数提交ajax请求的最佳方法?
我正在开发一个javascript存储卡游戏。最后,用户可以将自己的分数提交到数据库。最好的4分将获奖 游戏结束时,打开一个包含表单的灯箱,用户在其中输入他的名字、姓氏和电子邮件地址。然后,分数将通过ajax发布到api。此外,分数也包含在post请求中 有经验的用户可以在浏览器开发控制台中轻松查找分数提交请求,并可以通过curl或自己的构建ajax请求轻松发送假分数Php 保护竞赛分数提交ajax请求的最佳方法?,php,jquery,ajax,Php,Jquery,Ajax,我正在开发一个javascript存储卡游戏。最后,用户可以将自己的分数提交到数据库。最好的4分将获奖 游戏结束时,打开一个包含表单的灯箱,用户在其中输入他的名字、姓氏和电子邮件地址。然后,分数将通过ajax发布到api。此外,分数也包含在post请求中 有经验的用户可以在浏览器开发控制台中轻松查找分数提交请求,并可以通过curl或自己的构建ajax请求轻松发送假分数 在这里防止作弊的好方法是什么?为用户的会话生成UUID,并将其存储在他们的cookie或JS本地存储或其他地方。然后将与此UUI
在这里防止作弊的好方法是什么?为用户的会话生成UUID,并将其存储在他们的cookie或JS本地存储或其他地方。然后将与此UUID关联的分数保存到数据库中。然后保存名称并将电子邮件也绑定到UUID
基本上不在客户端计算/发送原始分数。将游戏的原始答案发送到服务器,让服务器计算并保存分数。您可以尝试类似的方法
if(@isset($_SERVER['HTTP_REFERER']) &&
$_SERVER['HTTP_REFERER']=="http://yourdomain/ajaxurl")
{
//Request identified as ajax request
}
这将确保参考网站是您的。我听说这可以通过修改标题来破解。。。但这只是一场游戏,如果他们能通过XSS和http检查,并能生成自己的头文件,他们就应该赢