从 JavaScript 调用 PHP 文件安全吗?

Is it secure to call a PHP file from JavaScript?

我有一个简单的 HTML5 Canvas 游戏,在某个部分结束时我想将变量存储在 MySQL 中。使用 XMLHttpRequest、Ajax 或其他方式执行此操作是否安全?我是这样开始写的:

var request = new XMLHttpRequest();
request.onreadystatechange = function() {
    if (request.readyState == 4 && request.status == 200) {
        var success = request.responseText;
        alert(success);
    }
}
request.open('GET', 'saveLevel.php?name='+name+'&level='+level, true);
request.send();

我的问题是每个人都可以在控制台中这样做:

var request = new XMLHttpRequest();
request.onreadystatechange = function() {
    if (request.readyState == 4 && request.status == 200) {
        var success = request.responseText;
        alert(success);
    }
}
request.open('GET', 'saveLevel.php?name='+name+'&level=100', true);
request.send();

(如何)我能解决吗?

您可以结合使用身份验证、混淆和缩小来保护您的安全JavaScript 网络调用

  • 示例 JS 混淆器库 JScrambler

  • 示例 JS 缩小库 UglifyJS

  • 身份验证-

    我假设,您的 API 具有某种身份验证字段(例如 Hash/Token 等)。如果没有,您可以将它与 - This answer 集成。

    • 确保使用基于会话提供给 JS 客户端的盐(甚至 API 密钥)。这样,您就可以防止未经授权的访问。
    • 在服务器端,记住最后几个端点调用,在允许另一个端点调用之前,检查您的逻辑现在是否允许新的调用。

如果您按照上述步骤操作,肯定会非常安全。