Implementazione sicura dell'accesso utente

0

Bene, ho creato login che funziona abbastanza bene, ma sono preoccupato per la sua sicurezza. Per verificare se l'utente è loggato, io uso solo questo

$auth = $_COOKIE['authorization'];
header ("Cache-Control:no-cache");
if($auth !== "ok") {
    header ("Location:index.php");
    exit();
}

che è davvero pessimo lo so, ma voglio sapere cosa posso fare per proteggerlo ancora di più, questo è il modulo di accesso:

    <?php 

    error_reporting(0);

    session_start();


    include("database.php");
    if(isset($_POST['login_button']))
    {

        $userName = mysqli_real_escape_string($con, $_POST['username']); 
        $userPass = mysqli_real_escape_string($con, $_POST['password']); 

        $hashedPass = hash('whirlpool', $userPass);

        $query = mysqli_query($con, "SELECT Ime, Lozinka, Confirmed FROM 'Igraci' WHERE  'Ime' = '$userName' AND 'Lozinka' = '$hashedPass' AND 'Confirmed' = '1'") or die(mysqli_error());
        $row = mysqli_num_rows($query);

        if($row > 0)
        {
            setcookie("username", $_POST['username'], time()+3600*24);
            setcookie("authorization","ok");
            header( "Location:welcome.php");
            exit();
        }
        else
        {
            echo '


            </br><div class="flash_error">Podatci koje ste uneli nisu ispravni, ili vas racun nije aktiviran.</div>

            ';


        }
    }

    if(isset($_GET['logout']))
    {
        setcookie("username", "", time()-60);
        setcookie("authorization","");
        header( "Location:index.php");
        exit(); # stop executing here
    }

    if($_COOKIE['authorization'] == "ok") 
    {
        header ("Location:welcome.php");
        exit();
    }

?>
    
posta Nathaniel 14.02.2016 - 17:18
fonte

1 risposta

2

Il problema con questo login è che l'impostazione di un cookie username con un valore e l'impostazione di un cookie di autorizzazione con un valore di ok registreranno qualcuno. Raccomando vivamente di leggere su PHP, sessioni e autenticazione.

    
risposta data 14.02.2016 - 17:36
fonte