【发布时间】:2015-12-17 05:49:43
【问题描述】:
我有一个简单的 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();
(如何)我可以解决它?
【问题讨论】:
-
你需要稍微改变你的架构。如果客户端决定任何事情并让服务器服从,那永远不会安全。您需要通知服务器并让它决定做什么。
-
Post 必须是发布数据时使用的协议,获取数据时必须使用 GET。这不过是实用主义和组织。
-
你需要在你的服务器端 PHP 代码中实现安全性,你不应该纯粹依赖 javascript,无论你对它做什么
-
问题是 OP 无法定义安全。
-
首先要验证提出请求的人是否有权这样做,以及他们提出请求所针对的记录
标签: javascript php mysql ajax xmlhttprequest