Visualizzazione risultati 1 fino 8 di 8

Discussione: Aiuto Abilitazione account

  1. #1
    Guest

    Predefinito Aiuto Abilitazione account

    Come mai questo script mi dice sempre che l'account è da abilitare?
    Grazie in anticipo
    Codice PHP:
    <html>
    <body>
    <title>
    Conferma || GoliatPack
    </title>
    <?php
    if(isset($_GET['user'])){
    $username= $_GET['user'];

    $sqlrecuperauser = "SELECT * FROM `UtentiTemporanei` WHERE username= '$username'";
    $risultatouser = mysql_query($sqlrecuperauser);

    if(
    $risultatouser) {

    $contauser = mysql_num_rows($risultatouser);

    if(
    $contauser == 1){

    $rows = mysql_fetch_array($risultatouser);
    $username = $rows['username'];
    $email = $rows['email'];
    $password = $rows ['password'];

    $passwordcript = md5($password);

    $sqlconfermauser = mysql_query("INSERT INTO utenti (username, password, email) VALUES ('$username', '$passwordcript', '$email')");

    if (
    $sqlconfermauser) {

    echo
    "Il tuo account è stato attivato con successo";
    $sqleliminadati = mysql_query("DELETE FROM `UtentiTemporanei` WHERE username = '$username'");

    } else {

    echo
    "Errore!";

    }
    }
    } else {
    echo
    "Account non da abilitare";
    }
    }
    ?>
    </html>
    </body>
    Ultima modifica di alemoppo : 22-08-2012 alle ore 22.03.29 Motivo: [HTML] -> [PHP]

  2. #2
    habbogalactica non è connesso Utente giovane
    Data registrazione
    12-06-2012
    Messaggi
    66

    Predefinito

    Prova a cancellare lo spazio in:

    Codice PHP:
    $password = $rows ['password'];
    (lo spazio tra rows e la parentesi quadra)

    Se non va prova a mettere nell'else il codice:

    Codice PHP:
    die("MySQL ERROR: ".mysql_error());
    In modo tale che ti stamperà l'errore.

    (Comunque il codice mi sembra decisamente vulnerabile alle sql injection)

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da habbogalactica Visualizza messaggio
    (Comunque il codice mi sembra decisamente vulnerabile alle sql injection)
    In che senzo?

    Comunque $password serve per $passwordcript

    MySQL ERROR: No database selected
    Il database è stato già selezionato :O
    Ultima modifica di goliatpack : 23-08-2012 alle ore 09.06.41

  4. #4
    Guest

    Predefinito

    UP Aiutatemi please

  5. #5
    Guest

    Predefinito

    sicuro di aver scritto queste due righe:
    mysql_connect()
    mysq_select_db()
    e sicuro di averli scritti nella stessa pagina?

  6. #6
    habbogalactica non è connesso Utente giovane
    Data registrazione
    12-06-2012
    Messaggi
    66

    Predefinito

    Citazione Originalmente inviato da goliatpack Visualizza messaggio
    In che senzo?

    Comunque $password serve per $passwordcript

    MySQL ERROR: No database selected
    Il database è stato già selezionato :O
    http://it.wikipedia.org/wiki/SQL_injection

    Ad esempio se mettono nell'url oltre al nome utente tipo:
    ?user=pippo' OR '1'='1' attiveranno tutti gli account, e non è la cosa peggiore xD.

    Comunque sì, non hai incluso il file per la connessione al database (se ne hai già uno compilato). esempio:
    Codice PHP:
    <?php
    $hostname
    ='localhost'; //// è sempre localhost su altervista
    $user='goliatpack'; //// il tuo nome utente di altervista
    $pass=''; //// può esser lasciato vuoto
    $dbase='my_goliatpack'; //// my_username altervista
    $connection = mysql_connect("$hostname" , "$user" , "$pass")
    or die (
    "Can't connect to MySQL");
    $db = mysql_select_db($dbase , $connection) or die ("Can't select database.");
    ?>

  7. #7
    Guest

    Predefinito

    Ah che stolto che sono.
    Grazie per avermelo fatto notare.

  8. #8
    Guest

    Predefinito

    con il mysql injection possono farti un dump del database... il miglior modo per risolvere questo problema è mediante l'utilizzo di mysql_real_escape_string, quindi se hai $username = $_POST['username']; aggiungi $username = mysql_real_escape_string($username);

Regole di scrittura

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