【发布时间】:2016-05-27 15:33:37
【问题描述】:
我正在尝试创建一个游戏排行榜网站,该网站将包含人们在不同游戏中的高分。
我有 3 张桌子 users、games 和 gamedata。
列如下。
users: id |姓名games: id |标题 | owner_idgamedata: user_id |游戏ID |高分
我有一个 Javascript api,第三方游戏开发者使用它在他们的游戏中创建一个 submit score 按钮。
当他们向我发送数据时,我使用$_POST 接收他们并使用" Insert into game_data(user_id, gameid, highscore) values('$_session['user_id']', '$gameid', '$score')" 在我的game_data 表中查询它
现在你知道任何人都可以向我发送$gameid 和$score 的假数据。
由于我无法控制服务器上的这两个数据,如何确保从第三方站点发送的数据的安全性?
【问题讨论】:
-
我如何在我的情况下使用它@morels?
-
只需按照堆栈溢出示例。各种游戏都应该用自己的私钥对提交的数据进行加密,然后发布。您应该部署一个 php 服务器,在它侦听新的发布请求后,它会使用您的公钥解密消息并根据需要处理数据。这样您就可以确定提交者的身份。
-
您无法阻止用户上传假分数。您可以添加混淆以减慢某些用户的速度,但最终完全防止作弊从根本上是不可能的。另一方面,您确实至少需要更改为使用参数化查询,因为您目前容易受到 SQL 注入的攻击,这是一个更严重的威胁。
标签: javascript php jquery ajax security