【发布时间】:2013-05-23 05:16:59
【问题描述】:
我正在创建一个登录系统,并希望将用户名和密码(散列和加盐)存储到 cookie。但是,cookie 不会持续存在。底部的 var_dump 显示 cookie 的值,但如果我打开一个新页面,该值不存在。是
下面是我的 CodeIgniter 代码。
function set_cookies() {
$this->load->helper('cookie');
$cookieData = array('name' => 'username',
'value' => $this->username,
'expire' => 86500,
'domain' => ".example.com",
'path' => '/'
);
$this->input->set_cookie($cookieData);
$cookieData = array('name' => 'password',
'value' => $this->password,
'expire' => 86500,
'domain' => ".example.com",
'path' => '/'
);
$this->input->set_cookie($cookieData);
var_dump($this->input->cookie("username"));
}
尝试这样做以获取 cookie:
公共函数 testLogin() {
var_dump($this->input);打印“
”;
var_dump($this->input->cookie("username"));
}
我很久以前就遇到过这个问题,但从未找到解决方案。现在在一个新项目上,我有同样的问题。帮助很大,非常感谢!
【问题讨论】:
-
hi...而不是使用var_dump...你能用这个功能检查cokkie是否存在吗???
if(get_cookie('username')) { echo "Yes": } else{ echo "NO": } -
不要将某人的密码保存到 cookie 中,这对安全性很不利。
-
@NishantLad - 当我转储时,该表达式的布尔值为“false”。
-
@Cryode - 我通常不这样做;我仍在开发中,所以我暂时这样做,直到找到更好的重新验证方法。
-
好吧...你能告诉我除了这些你存储在 cookie 或 session 中的其他值吗?????恐怕你已经超过了codeigniter的存储限制
标签: php codeigniter cookies