0

作成したユーザーをアカウントにサインインする最後の段階にいます。私は自分のフローをコメントアウトしましたが、それ以降はすべてうまくいくようですが、投稿データのパスワードがハッシュされていないため、1つまたは2つのステップがありません。

コントローラ:

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();
        }
    }

モデル:

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();
    }
}

前もって感謝します

4

1 に答える 1

1

$user->saltだけである必要があります$salt

于 2012-08-10T07:59:57.507 に答える