安全性 - 将数据从第三方发送到我的服务器 Ajax php


Security - Send data from third party to my server Ajax php

我正在尝试创建一个游戏排行榜网站,其中包含人们在不同游戏中的高分。

我有 3 张桌子usersgamesgamedata

列如下。

  • users : ID | 姓名

  • games : ID | title | owner_id

  • gamedata : user_id | game_id | 高分

我有一个Javascript api,第三方游戏开发人员使用它在他们的游戏中创建一个submit score按钮。

当他们向我发送数据时,我使用 $_POST 接收它们,并使用 " Insert into game_data(user_id, gameid, highscore) values('$_session['user_id']', '$gameid', '$score')" 在我的game_data表中查询它

现在如您所知,任何人都可以向我发送$gameid$score的虚假数据。

由于我无法控制服务器上的这两个数据,因此如何确保从第三方站点发送的数据的安全性?

确保安全是什么意思?

举个例子,我会:

1( 清理数据。作为一般规则,永远不要信任用户数据。

2( 通过查看数据库并检查$gameid是否确实是表上存在的记录来验证数据。

3( 确保在可接受的范围内验证给定$score

4( 准备查询以避免 SQL 注入。

5(可选:使用SSL(您可以使用Letsencrypt获得免费证书(

6( 如果可以,将大部分逻辑移到服务器端。让客户端只发送操作,并在逻辑服务器端执行对数据和操作进行精细控制。