$ _SESSION值仅在firefox中更改

时间:2016-10-05 02:40:20

标签: javascript php jquery ajax session

我有一个页面(customer.php),我设置了$_SESSION['token']

$token = $_SESSION['token'] = md5(uniqid(mt_rand(), true));

我在该页面的表单中用于CSRF检查。表单通过jQuery的$ .ajax提交到php文件(customerHandler.php):

if(isset($_POST['function']) && $_POST['function'] == 'sendRequest') {
    $result = Customer::filter($_POST['token'], trim($_POST['filter_name']), trim($_POST['filter_flag']), $_POST['page'], $_POST['per_page']);
    echo json_encode($result);
}

客户::过滤器

Customer.class.php

filter()是该类中的方法。 这是我检查$_SESSION中设置的CSRF令牌的地方。令我困惑的是,$_SESSION['token']的价值发生了变化。它只在Firefox中更改。在Chrome中,它没关系。我想知道为什么$_SESSION['token']的值会发生变化,即使页面(customer.php - 我生成令牌的地方)没有重新加载,因为我使用$ .ajax ...
知道为什么会发生这种情况......?

0 个答案:

没有答案