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

时间:2016-02-16 11:19:15

标签: javascript php jquery ajax security

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

我有3个表usersgamesgamedata

列如下。

  • users:id |名称

  • games:id |标题| owner_id

  • gamedata:user_id | game_id |高分

我有一个Javascript api,第三方游戏开发者使用它来在游戏中创建submit score按钮。

当他们向我发送数据时,我会使用$_POST收到这些数据,然后使用game_data

在我的" Insert into game_data(user_id, gameid, highscore) values('$_session['user_id']', '$gameid', '$score')"表格中查询

现在您知道有人可以向我发送$gameid$score的虚假数据。

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

1 个答案:

答案 0 :(得分:1)

确保安全是什么意思?

举个例子,我会:

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

2)通过查看数据库并检查if(isset($_POST['Detail'])) { var_dump($_POST['Detail']; } if(!isset($_POST['Detail']) && isset($_GET['Detail'])) { echo 'Form method is wrong, GET is used by default not POST'; } 是否实际上是表中存在的记录来验证数据。

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

4)准备您的查询以避免SQL注入。

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

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