• Sinov va sifat kafolati
  • Foydalanuvchi autentifikatsiyasi va avtorizatsiyasi




    Download 1,48 Mb.
    bet8/10
    Sana31.05.2024
    Hajmi1,48 Mb.
    #258354
    1   2   3   4   5   6   7   8   9   10
    Bog'liq
    Kurs ishi.1

    Foydalanuvchi autentifikatsiyasi va avtorizatsiyasi:

      • Foydalanuvchilar o'zlari da'vo qilgan shaxs ekanligiga ishonch hosil qilish uchun autentifikatsiya qilinadi. Avtorizatsiya foydalanuvchining ilova ichida bajarishiga ruxsat berilgan amallarni belgilaydi.




    Sinov va sifat kafolati:

      • Doimiy testlar, jumladan, birlik testi, integratsiya testi va foydalanuvchini qabul qilish testi ishlab chiqish jarayonida muammolarni aniqlash va tuzatish uchun juda muhimdir.




    Ushbu tamoyillar veb-ilovalar qanday ishlashi, funksionallik, xavfsizlik va foydalanuvchi tajribasini muvozanatlash haqida asosiy tushuncha beradi. Haqiqiy amalga oshirish tafsilotlari ma'lum bir veb-ilovani ishlab chiqishda ishlatiladigan maxsus texnologiyalar va ramkalarga qarab farq qilishi mumkin.


    if($_SERVER["REQUEST_METHOD"] == "POST"){

    // Validate username
    if(empty(trim($_POST["username"]))){
    $username_err = "Please enter a username.";
    } else{
    // Prepare a select statement
    $sql = "SELECT id FROM users WHERE username = ?";

    if($stmt = mysqli_prepare($link, $sql)){
    // Bind variables to the prepared statement as parameters
    mysqli_stmt_bind_param($stmt, "s", $param_username);

    // Set parameters
    $param_username = trim($_POST["username"]);

    // Attempt to execute the prepared statement
    if(mysqli_stmt_execute($stmt)){
    /* store result */
    mysqli_stmt_store_result($stmt);

    if(mysqli_stmt_num_rows($stmt) == 1){
    $username_err = "This username is already taken.";
    } else{
    $username = trim($_POST["username"]);
    }
    } else{
    echo "Oops! Something went wrong. Please try again later.";
    }

    // Close statement
    mysqli_stmt_close($stmt);
    }
    }

    // Validate password
    if(empty(trim($_POST["password"]))){
    $password_err = "Please enter a password.";
    } elseif(strlen(trim($_POST["password"])) < 6){
    $password_err = "Password must have atleast 6 characters.";
    } else{
    $password = trim($_POST["password"]);
    }

    // Validate confirm password
    if(empty(trim($_POST["confirm_password"]))){
    $confirm_password_err = "Please confirm password.";
    } else{
    $confirm_password = trim($_POST["confirm_password"]);
    if(empty($password_err) && ($password != $confirm_password)){
    $confirm_password_err = "Password did not match.";
    }
    }

    // Check input errors before inserting in database
    if(empty($username_err) && empty($password_err) && empty($confirm_password_err)){

    // Prepare an insert statement
    $sql = "INSERT INTO users (username, password) VALUES (?, ?)";

    if($stmt = mysqli_prepare($link, $sql)){
    // Bind variables to the prepared statement as parameters
    mysqli_stmt_bind_param($stmt, "ss", $param_username, $param_password);

    // Set parameters
    $param_username = $username;
    $param_password = password_hash($password, PASSWORD_DEFAULT); // Creates a password hash

    // Attempt to execute the prepared statement


    if(mysqli_stmt_execute($stmt)){
    // Redirect to login page
    header("location: login.php");
    } else{
    echo "Something went wrong. Please try again later.";
    }

    // Close statement
    mysqli_stmt_close($stmt);
    }
    }

    // Close connection
    mysqli_close($link);
    }
    ?>
    Ro’yxatdan o’tish sahifasi.

    Download 1,48 Mb.
    1   2   3   4   5   6   7   8   9   10




    Download 1,48 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Foydalanuvchi autentifikatsiyasi va avtorizatsiyasi

    Download 1,48 Mb.