2012-08-08 30 views
0

我在爲已創建的用戶登錄到帳戶的最後。我已經評論了我的流程,一切似乎都做了,但是我錯過了一兩步,因爲現在後數據密碼沒有被散列。散列/醃製後數據codeigniter

控制器:

function validate_credentials() 
    { 
     // WHEN THE VIEW IS LOADED THIS FUNCTION IS CALLED AND LOADS MODEL AS WELL AS DEFINES THE SALT VARIABLE AND LOADS THE ENCRYPTING HELPER LIBRARY 
     $this->load->model('user_model', 'um'); 
     $login = $this->input->post('submit'); 
     $salt = $this->_salt(); 
     $this->load->library('encrypt'); 


     //IF THE SUBMIT BUTTON IS TRIGGERED THE POST DATA IS SENT TO THE VALIDATE FUNCTION IN THE MODEL VIA VARIABLES CREATED 
     if($login) 
     { 


     $data = array(
      'email' => $this->input->post('email'), 
      'password' => $this->encrypt->sha1($user->salt. $this->encrypt->sha1($this->input->post('password'))) 
      ); 

      $user = $this->um->validate($data); 

     } 

     // IF ITS A REAL USER OPEN THE GATE AND LET THEM IN 
     if($user) 
     { 

      $this->session->set_userdata($data); 
      redirect('account/dashboard'); 
     } 

     else 

     { 
      $this->index(); 
     } 
    } 

MODEL:

function validate($data) 
{ 
    $this->output->enable_profiler(TRUE); 

    // TAKING THE DATA FROM THE MODEL AND CHECKING IT AGAINST THE STORED INFO IN THE DB 
    $query = $this->db->where($data)->get('users', 1); 
    if($query->row()) 
    { 
     return $query->row(); 
    } 
} 

在此先感謝

+0

完成並完成。謝謝你的提醒! – LightningWrist 2012-08-09 15:34:43

回答

1

$user->salt應該只是$salt