CSRF哈希没有进入Codeigniter

时间:2016-05-14 14:39:32

标签: codeigniter security csrf

我已经在CI config.php中将CSRF_PROTECTION的值设置为TRUE,并且FORM助手已经设置为自动加载。

我在CI表单中使用了form_open()form_close()

但我的问题是<?=$csrf['hash'];?>的值始终为空。理想情况下应该有一些CSRF令牌。

1 个答案:

答案 0 :(得分:0)

您需要在<?=$csrf['hash'];?>

之前放置以下数组
$csrf = array(
        'name' => $this->security->get_csrf_token_name(),
        'hash' => $this->security->get_csrf_hash()
);

然后它将显示带有CSRF令牌的隐藏字段。 https://www.codeigniter.com/user_guide/libraries/security.html#cross-site-request-forgery-csrf

但是如果使用form_open()form_close(),则会自动生成包含CSRF令牌的隐藏字段。