我有一个简单的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 Library JScrambler
>样本JS Minification Library UglifyJS
>认证 –
我假设,您的API具有某种身份验证字段(例如Hash / Token等).如果没有,您可以将其与 – This answer集成.
>确保使用在会话基础上为您的JS客户端提供的salt(或甚至API密钥).这样,您就可以防止未经授权的访问.
>在服务器端,记住最后几个端点调用,在允许另一个端点调用之前,检查您的逻辑是否允许新的端点调用.
如果你按照上面的步骤,它肯定会使它非常安全.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。