我刚刚开始进入Android开发阶段,目前我正在开发一款应用程序,其部分功能是每小时更新一次GPS位置。我已经设法通过将值发布到类似于下面的PHP文件的应用程序来存储我的数据库中的位置。我无法搞清楚的问题是如何安全地执行此操作,以便只存储来自我的Android应用程序的值,而不仅仅是存储到网址的任何数据。
收到gps值的简化php文件:
<?php
require_once 'connect.php';
$imei = $_POST['imei'];
$longitude = $_POST['longitude'];
$latitude = $_POST['latitude'];
$result = mysqli_query($con, "UPDATE `device_location` SET `Longitude` = '$longitude', `Latitude` = '$latitude' WHERE `IMEI` = '$imei'");
?>
基本上,任何知道php文件的URL和有效的IMEI号的人都可以发布假的gps值。如何验证gps值是否仅来自我的Android应用程序?
答案 0 :(得分:0)
一种方法是生成随机字符串,以便在用户登录到您的应用时用作访问令牌。将此字符串保存在数据库中,并使用此字符串进行所有未来的API调用。然后,您的服务器端代码可以通过在数据库中查找来检查访问令牌是否有效。如果它有效,则继续请求。
答案 1 :(得分:0)