我创建了用户可以注册然后使用代码点火器
登录的系统我的问题是我如何获取登录系统的人的电子邮件。
我用过这样的会话
$email=$this->session->userdata('email');
//a db query using the email obtained via session
$query=$this->db->select('*')->from('referral')->where('referral_email',$email)->get();
但是,我不认为这是最安全或最有效的方法。
有没有更好/安全的方法来完成这项任务。
提前感谢您的帮助
实际上,只要您将活动会话存储在数据库中,这是安全的。
转到application/config/config.php
并启用ci_sessions表
您还需要在数据库中创建ci_sessions表:
CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(45) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);
数据库会话的工作方式是它们保存一个带有会话 ID 的唯一 cookie,此会话 ID 是存储所有用户数据的表行的标识符。因此,客户端永远无法查看或修改数据。
我希望能回答你的问题=]