我已经使用Javascript和PHP构建了一个简单的游戏。一旦用户点击目标分数,他们可以将他们的名字添加到高分数据库mysql数据库。我使用PHP POST获取他们的分数并将其添加到MySQL。防止后退按钮漏洞? PHP
当某人得到一个高分并输入他们的名字后,它将得分变量重置为零,并将它们重定向回带有标题('位置')的主游戏页面。如果他们一次点击后退按钮,一切都很好,因为我重置了变量,所以它显示他们的分数为零。但是,如果他们点击后退按钮两次,它会提高他们的分数,他们可以再次输入他们的名字,并用他们的名字淹没高分数据库。
无论如何要防止这种?
添加一些服务器端验证以验证高分是否已提交。 – JimL 2014-09-21 18:54:23
@JimL好的,谢谢,你可以指出我可以详细说明如何做到这一点? – m1xolyd1an 2014-09-21 18:56:23
在一个正在播放的游戏的会话中创建一个[unique id](http://php.net/manual/en/function.uniqid.php)。当他们提交一个分数时,请提交唯一的ID并随后生成一个新的分数。如果他们尝试再次提交,请检查提交的ID是否尚未使用。 – Luke 2014-09-21 19:00:14