【发布时间】:2014-01-20 21:15:00
【问题描述】:
我已经构建了一个浏览器游戏,现在我正在努力让它更安全一些。由于所有服务器请求都是从 javascript 发起的,即使孩子们也可能篡改服务器上的数据。我一直在阅读有关 stackoverflow 的问题并在我的请求中实现了发送/接收令牌,但是我在对服务器的每个请求都重新生成此令牌并将新令牌发送回客户端以进行下一次调用。请求是通过 https 发出的,并且是 POST 类型的。
这是客户端的令牌流程:
var token = 'abcd1234';
$.ajax({
url: "index.php",
type: "post",
data: {
method: "score",
value: 50
}
});
$(document).ajaxSend(function(e, xhr, o){
o.data += '&token=' + token;
});
$(document).ajaxComplete(function(e, xhr, o){
var data = JSON.parse(xhr.responseText);
token = data.token;
});
在服务器端:
if (!isset($_POST['token']) || ($_POST['token'] != $_SESSION['token']))
{
die();
}
else
{
// generate new token and send it back along with the response
}
所以我的问题是这个令牌是否增加了我的服务器请求的安全性,以及可以做些什么来进一步提高安全性?
编辑这是一个facebook游戏,所有代码都是javascript,服务器端只处理更新数据库。
【问题讨论】:
标签: javascript php session xmlhttprequest csrf