ایمن با جلسات – Exchange Security Stack Security

من تلاش می کنم برای ایجاد یک صفحه ورود به سیستم برای یک وب سایت رسانه های اجتماعی کار کنم، اما می خواهم در برابر تزریق و همه چیز محافظت کنم.

صفحه ورود
    

     $ result = LoginManager :: ورود ($ username، $ password)؛

    اگر ($ نتیجه == "invalid_username") {
        echo نام کاربری نامعتبر! '؛
    }

    اگر ($ result == "invalid_login") {
        echo 'ورود نامعتبر!'؛
    }

    $ expires = gmdate ('Y-m-d'، strtotime ($ Date. + 1 روز))؛
    DataBase :: query ("INSERT INTO sessions VALUES (: session،: userid،: expires)"، array (': session' => $ result، ': userid' => $ userid، ': expires' => $ expires ))

    setcookie ("جلسه"، $ نتیجه)؛
    //
    برگشت؛
}

echo '

نام کاربری:

رمز:

'؛ ؟>

LoginManager

  16 || strlen ($ password)> 50 || strlen ($ password) < 5){
        return 'invalid_bounds';
    }

    $sql = "SELECT * from accounts WHERE username = :username";
    $users = Database::query($sql, array(':username' => $ username))؛

    اگر (sizeof ($ کاربران) == 0) {
        return 'invalid_username'؛
    }

    $ userdata = $ کاربران [0]؛

    $ salt = '-45dfeHK / __ yu349 @ - / klF21-1 _  / 4JkUP / 4'؛
    اگر (password_verify ($ password. $ salt، $ userdata ['password'])) {
        $ session = com_create_guid ()؛
        بازگشت $ session؛
    } else {
        بازگشت 'invalid_login'؛
    }
}

؟>

سپس صفحه اصلی (مثال کار با جلسه)

  $ session))؛

اگر (sizeof ($ sessions) == 0) {
    // تغییر مسیر برای ورود به صفحه
    برگشت؛
}

$ session = $ sessions [0]؛

$ date = جدید DateTime ($ session ['expires'])؛
$ now = جدید DateTime ()؛

اگر ($ تاریخ < $now) {
    //Expired session : Redirect to login
    return;
}

//Display feed

?>

آیا نقصی وجود دارد که می تواند مشکلات جدی مانند تزریق یا جلسه سلامی و / یا مناطقی را که من باید بهبود ببخشد، ایجاد کنم؟