Это функция входа без ошибок?

Привет всем, я хотел бы узнать ваше мнение о том, является ли созданная мной ниже функция входа в систему без ошибок. Я использую соль и bcrypt в качестве безопасности.

Сначала я бы использовал имя пользователя, чтобы получить соль. Затем назначьте пароль, используя crypt с переменными password (из формы ввода) и salt.

Затем, используя имя пользователя и пароль, проверьте, существует ли член. Затем сохраните идентификатор члена в качестве значения сеанса для будущего использования.

Что бы я хотел знать, если что-то не так с этой функцией.

function login(){

    $username = trim($_GET['username']);
    $password = trim($_GET['password']);

    if($username == '' || $password == ''){

        return 0;
    }

    if(strlen($username) > 30 || strlen($password) > 30){

        return 0;
    }

    $username = strtolower($username);      

    $q = "SELECT * FROM member WHERE username = '$username'";

    $value = $this->run_get_query($q);

    $salt = $value[0]['salt'];

    $password = crypt($password, $salt);

    $q = "SELECT * FROM member WHERE username = '$username' AND password = '$password'";

    $member_details = $this->run_get_query($q);

    $num_rows = count($member_details);

    if($num_rows == 1){

        $_SESSION['member'] = $member_details[0]['id'];
    }

    return $num_rows;

}

0 ответов

Другие вопросы по тегам