编码器会话令牌


Codeigniter Session Tokens

我什么是最好的方式来获得编码会话令牌工作?他们有吗?我正在尝试做这样的事情site_url(user, 'token=' . $this->session->userdata('token'). $url);

我不确定在会话中实现这一点的最佳方法。到它为会话生成令牌的地方。

在Google上似乎找不到任何好的信息。什么好主意吗?

跨站请求伪造(CSRF)

你可以打开你的应用/config/config.php文件,并设置如下:

$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!!!
}