我获取codeigniter会话令牌的最佳方法是什么?他们有吗?我正在努力做这样的事情site_url(user, 'token=' . $this->session->userdata('token'). $url);
我不确定在会话中实现此功能的最佳方法。到它为会话生成令牌的位置。
似乎无法在Google上找到任何有关它的信息。有什么想法吗?
答案 0 :(得分:1)
跨站点请求伪造(CSRF)
您可以通过打开application / config / config.php文件并设置此项来启用csrf保护:
$config['csrf_protection'] = TRUE;
**注: 如果使用表单助手,form_open()函数将自动在表单中插入隐藏的csrf字段。
如果您想使用普通表格:
$data['my_token'] = md5(uniqid(rand(), true));
$_SESSION['my_token'] = $data['my_token'];
// During page rendering:
<input type="hidden" name="my_token" id="my_token" value="<? php echo $_SESSION['my_token']?>" />
// After they click submit, when checking form:
if ($_POST['my_token'] === $_SESSION['my_token'])
{
// was ok
}
else
{
// was bad!!!
}