我是这里的新手,所以希望我做得很好,我在做什么
我最近开始使用Codeignter,并试图建立一个安全的登录,以限制仅从三个设备访问。
登录我试图添加一个永不过期的"device_id"cookie成功认证后。该cookie将是一个唯一字符串并存储到数据库
如果用户已经存储了三个要拒绝的设备。如果用户有可用的设备插槽,这将被记录并添加到其堆栈中。基本上,我想允许访问,如果用户有可用槽或cookie数组存在。
有任何想法我应该从哪里开始或有一个Codeigniter库吗?
我的控件允许和验证登录的代码是:
function login()
{
if ($this->session->userdata('logged_in'))
{
$logged_in_user = $this->session->userdata('logged_in');
if ($logged_in_user['is_admin'])
{
redirect('admin');
}
else
{
redirect(base_url());
}
}
// set form validation rules
$this->form_validation->set_error_delimiters($this->config->item('error_delimeter_left'), $this->config->item('error_delimeter_right'));
$this->form_validation->set_rules('username', lang('users input username_email'), 'required|trim');
$this->form_validation->set_rules('password', lang('users input password'), 'required|trim|callback__check_login');
if ($this->form_validation->run() == TRUE)
{
if ($this->session->userdata('redirect'))
{
$redirect = $this->session->userdata('redirect');
$this->session->unset_userdata('redirect');
redirect($redirect);
}
else
{
$logged_in_user = $this->session->userdata('logged_in');
if ($logged_in_user['is_admin'])
{
redirect('admin');
}
else
{
redirect(base_url());
}
}
}
// setup page header data
$this->add_css_theme( 'login.css' );
$this->set_title( lang('users title login') );
$data = $this->includes;
// load views
$data['content'] = $this->load->view('user/login', NULL, TRUE);
$this->load->view($this->template, $data);
}
将您的系统编写为....不是一个好主意你不能保护你的认证系统从会话劫持(当session_id不改变在很长一段时间),DOS攻击,ddos攻击等非常容易....最好使用早期编写的系统,如auth_ion ....
可以在
中找到代码点火器的身份验证库:https://github.com/bcit-ci/CodeIgniter/wiki/Contributions库
i prefer ion_auth in the list…