从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 Obfuscator库JScrambler

  • 示例JS缩小库UglifyJS

  • 认证——

    我假设,你的API有某种身份验证字段(例如哈希/令牌等)。如果不是,你可以积分-这个答案。

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

如果你遵循上面的步骤,它肯定会使它非常安全。