我正在将数据从 Android 应用程序发送到接收信息并对其进行处理的 php 脚本,我发现了一个安全问题:如果有人发现了 url(例如:mydomain.com/recievedata.php),任何人都会能够将数据发送到我的系统。
确保发送数据的客户端是应用程序的理想方法是什么?
谢谢!
我见过一些公司做的一种简单的方法是包含一个密钥。例如,您secret=3CH6knCsYmvA2va8GrHk4mf3JqmUctCM
的 POST 数据可能有一个参数。那么你需要的receivedata.php
只是
if($_POST['secret'] != '3CH6knCsYmvA2va8GrHk4mf3JqmUctCM') {
header('HTTP/1.1 403 Forbidden');
error_log("ERROR: wrong secret: " . $_POST['secret']);
exit("Access denied");
}
您可以轻松地从random.org生成随机字符串。
当然,这不是最安全的方法,而且该字符串很可能以明文形式存储在 APK 中(不要使用它来发送启动代码!),但它很容易且足以让大多数人远离。例如,这可能足以发送游戏的玩家分数。
这更像是一个 PHP 问题。以下是您应该为安全做的事情;
有了这些,没有人可以在没有您的应用程序的情况下使用您的任何 PHP 文件。未经您的许可,他们将无法接收任何数据
唯一正确的方法是不信任您收到的数据。始终以适合来自坏人的精心制作的数据的方式处理它。