Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Login_model extends CI_Model
- {
- private $login_messages;
- public function __construct()
- {
- parent::__construct();
- $this->load->library('encryption');
- $this->encryption->initialize(array(
- 'cipher' => 'aes-256',
- 'mode' => 'ctr',
- 'key' => substr($this->getEncryptionKey(), 0, 31)
- )
- );
- }
- public function login()
- {
- if(isset($_POST['login']))
- {
- if(empty($_POST['mname']))
- {
- $this->login_messages['error'] = 'Bitte geben sie ihre Kundenkennung an.';
- }
- else if(strpos($_POST['mname'], 'kd') === false)
- {
- $this->login_messages['error'] = 'Ihre Kundenkennung muss mit "kd" beginnen.';
- }
- else if(empty($_POST['mpass']))
- {
- $this->login_messages['error'] = 'Bitte geben sie ihr Password an.';
- }
- else
- {
- $this->db->select('id, member, email, salt, rank, password');
- $this->db->where('member', $_POST['mname']);
- $memberLogin = $this->db->get('members')->row_array();
- if($memberLogin['id'] > 0)
- {
- $subuser = 0;
- $pwd = $this->createLoginHash($_POST['mname'], $_POST['mpass'], $memberLogin['salt']);
- }
- else
- {
- $subuser = 1;
- $pwd = $this->createLoginHash($_POST['mname'], $_POST['mpass'], $memberLogin['salt']);
- }
- if($subuser == 0)
- {
- var_dump($_POST);
- if(isset($_POST['remember']))
- {
- if($_POST['remember'] == 1)
- {
- setCookie('member', $this->encryption->encrypt('$memberLogin[id]:$memberLogin[member]:$pwd'), time() + 31536000);
- }
- else
- {
- setCookie('member', $this->encryption->encrypt('$memberLogin[id]:$memberLogin[member]:$pwd'), time() + 7200);
- }
- }
- }
- else
- {
- }
- }
- }
- }
- public function createLoginHash($name, $pwd, $saltOne, $saltTwo = 'TekBASE-5417', $iterate = 1000)
- {
- $pwdSplit = str_split($pwd, (strlen($pwd) / 2) +1);
- $nameSplit = str_split($name, (strlen($name) / 2) +1);
- $hash = '';
- for($i = 0; $i <= $iterate; $i++)
- {
- $hash = hash('sha512', $nameSplit[0].$saltOne.$pwdSplit[0].$hash.$nameSplit[1].$saltTwo.$pwdSplit[1]);
- }
- return $hash;
- }
- public function getEncryptionKey()
- {
- $chars = array(
- 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
- 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
- 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
- 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
- '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '?', '!', '@', '#',
- '$', '%', '^', '&', '*', '(', ')', '[', ']', '{', '}', '|', ';', '/', '=', '+'
- );
- shuffle($chars);
- $num_chars = count($chars) - 1;
- $token = '';
- for ($i = 0; $i < $num_chars; $i++)
- {
- $token .= $chars[mt_rand(0, $num_chars)];
- }
- return $token;
- }
- public function getMessages()
- {
- return $this->login_messages;
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement