对于我的所有项目,我使用codeigniter作为我的框架。我总是使用会话来获取像user_string和user_permissions这样的商店,以确定谁可以访问网站中的某些功能和页面。
使用session->userdata
作为提供用户唯一内容的基础是不好的做法吗?
我通常会在用户登录时为其设置一个userdata数组,如下所示:
$data = array('id' => $user_string,
'g' => $user_group);
$this->session->set_userdata($data);
当我确定他们为查询获得的结果时,我可能会执行以下操作:
function get_posts(){
if( $this->session->userdata('g') == 2 ){
$data = $this->db->get_where('posts', array('' => $this->session->userdata('id') ) )->result_array();
return $data;
}
}
由于session->userdata('id')
和session->userdata('g')
?
非常感谢任何评论。
答案 0 :(得分:0)
只要做一个想法: - 将密钥保存到您的应用程序/ config / config.php,打开文件并设置
$config['encryption_key'] = "YOUR KEY";
$this->load->library('encrypt');
data = array('id' => $this->encrypt->encode($user_string),
'g' => $this->encrypt->encode($user_group),
);
$this->session->set_userdata($data);
获取数据时: -
function get_posts(){
if( $this->session->userdata('g') == 2 ){
$id =$this->encrypt->decode($this->session->userdata('id') );
$data = $this->db->get_where('posts', array('' => $id ) )->result_array();
return $data;
}
}