Visualizzazione risultati 1 fino 6 di 6
Like Tree2Likes
  • 1 Post By darbula
  • 1 Post By darbula

Discussione: Problemino con registrazione password CRIPTATA

  1. #1
    Data registrazione
    27-05-2020
    Messaggi
    3

    Exclamation Problemino con registrazione password CRIPTATA

    Buongiorno ragazzi, vado subito al dunque io ho sviluppato un piccolo giochino che fino ad ora facevo girare su xampp quindi in locale ora ho diciamo fatto il fatidico passo e sto hostando proprio qui su altervista, il problema che riscontro è che la registrazione di una password criptata che faccio in locale(xampp) funziona benissimo mentre appena mi sposto sul sito hostato su altervista la registrazione della password mi restituisce un campo vuoto nel db sapete quale possa essere l'errore?

    (non credo sia un problema di query perchè appunto in locale funziona tutto bene e i db sono gli stessi)

    la funzione che mi cripta la password è password_hash()

    Codice:
    <body>
        
        <?php include 'connessione.php'?>
    
        <div class="login-form">
            <div class="text-center">
                <h1>SassoCartaForbice</h1>
            </div>
            <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                <div class="text-center"><h2>Signup:</h2></div>
                <hr>
                <div class="form-group"><input type="text" name="username" class="form-control" placeholder="Username" required="required"></div>
                <div class="form-group"><input type="password" class="form-control" name="password" placeholder="Password" required="required"></div>
                <div class="form-group"><button type="submit" class="btn btn-primary btn-lg" name="signup">Sign Up</button></div>
            </form>
    	    <div class="hint-text">Already have an account? <a href="index.php">Login here</a></div>
        </div>
    
        <?php 
            if (isset($_POST['signup'])) {
                $username = mysqli_real_escape_string($connessione,strip_tags(substr($_POST['username'], 0,32)));
                $password = mysqli_real_escape_string($connessione,strip_tags(substr($_POST['password'], 0,32)));
    
                //la password viene crittografata
                $options = ['cost' => 10];
                $pswCritt=password_hash($password, PASSWORD_ARGON2I,$options);//il secondo parametro rappresenta l'algoritmo da utilizzare (alternativa è PASSWORD_BCRYPT)
                
    
                $inserimentoNome = "INSERT INTO `utente` (`nomeUtente`, password) VALUES ('$username', '$pswCritt')";
                if (!$connessione->query("$inserimentoNome")) {
                    //se l'esecuzione della query non va a buon fine viene visualizzato un messaggio di errore
                    echo "<div class='text-center'>
                            <p>Username already exist. Retry</p>
                         </div>";
                }else{
                    session_start();
                    $_SESSION['nomeUtente'] = $username;
                    header("location: gioco.php");
                    exit;
                }
            }
        ?>
    </body>
    </html>

  2. #2
    darbula non è connesso AlterGuru
    Data registrazione
    24-04-2011
    Messaggi
    2,158

    Predefinito

    Devi controllare il valore di ritorno di password_hash con var_dump.
    PASSWORD_ARGON2I - Use the Argon2i hashing algorithm to create the hash. This algorithm is only available if PHP has been compiled with Argon2 support.

  3. #3
    Data registrazione
    27-05-2020
    Messaggi
    3

    Predefinito

    grazie mille della risposta ho provato con var_dump() mostrando il valore a schermo e risulta essere NULL, come posso risolvere questo problema ??

  4. #4
    darbula non è connesso AlterGuru
    Data registrazione
    24-04-2011
    Messaggi
    2,158

    Predefinito

    Se php non è stato compilato con il supporto Aragon2 devi scegliere un diverso algoritmo.
    Leggi sul manuale su quale usare https://www.php.net/manual/en/functi...sword-hash.php

  5. #5
    Data registrazione
    27-05-2020
    Messaggi
    3

    Predefinito

    grazie ancora per le risposte mi sei stato molto d'aiuto provero con gli altri algoritmi di criptazione, ma l'ultima domanda che volevo porgerti è:
    è possibile forzare la compilazione di Aragon2 visto che il mio è un progetto per la maturità che in teoria prevede l'utilizzo di quest'ultimo algoritmo?

    edit: ho appena provato tramite PASSWORD_DEFAULT e ho risolto il tutto ora funziona tutto alla perfezione grazie mille, veramente non so come ringraziarti
    Ultima modifica di sassocartaforbicigames : 28-05-2020 alle ore 16.32.17

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    18,420

    Predefinito

    La session_start(); deve essere richiamata prima di qualsiasi output perché agisce sull'header della pagina: spostala come primissima istruzione php.

    To use cookie-based sessions, session_start() must be called before outputting anything to the browser.
    Ciao!

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •