Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168

    [php] login e connessione al db

    salve ho questo codice:

    codice:
    <?
    include("../config.php");
    $username=$_GET['username'];
    $password=$_GET['password'];
    
    $obj=new sast1com();
    $obj->connessione();
    
    if(($obj->user==$username) && ($obj->password==$password)){
    echo"Loggato";
    $_SESSION['temput']=$username;
    $_SESSION['temppass']=$password;
    }
    else echo"ERRORE NELLE CREDENZIALI DI ACCESSO";
    
    
    ?>
    nel precedente blocco istanzio la connessione al db, ossia la seguente:

    codice:
    <?
    session_start();
    
    class sast1com
    {
    //utente che accede al programma
    var $user='root';
    var $password='';
    
    var $host='localhost';
    var $database="fatturetest";
    
    
    
     function connessione()
     {
       mysql_connect($this->host,$this->user,$this->password)or die("non riesco a connettermi".mysql_error());
       mysql_select_db("$this->database")or die("non riesco selezionare il database");
     }
    
    
     function disconnessione()
     {
       mysql_close();
     }
    }
    ?>
    come posso fare affinchè il nome utente e la password non debbano essere quelli del database, ma li vada a prendere da una tabella di utenti appositamente creata nel db??

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    Codice PHP:
     function connessione()
     {
    PARAMETRI DELLA CONNESSIONE DI mysql_connect()
       
    mysql_select_db("$this->database")or die("non riesco selezionare il database");
    $q mysql_query("SELECT * FROM utenti WHERE name=".$this->user." AND PASSWORD = ".$this->password);
    if (
    mysql_num_rows($q)==1)return true;
    return 
    false;
     } 
    poi te la sistemi tu

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    nella classe devo dichiarare?
    var $user
    var $password

    se si, come?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    ci deve essere qualche errrore

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    nessuno ha delle dritte?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    ho risolto così:

    codice:
    <?
    include("../config.php");
    $username=$_GET['username'];
    $password=$_GET['password'];
    
    $obj=new sast1com();
    $obj->connessione();
    
    
     $query = mysql_query("SELECT * FROM utenti WHERE username='$username' and password='$password'"); 
        if(mysql_num_rows($query) != 0){
    echo"Loggato";
    $_SESSION['temput']=$username;
    $_SESSION['temppass']=$password;
    }
    else echo"ERRORE NELLE CREDENZIALI DI ACCESSO";
    
    
    ?>
    in ogni pagina ho messo

    codice:
    if ((isset($_SESSION['temput']))&&(isset($_SESSION['temppass']))){
    è un metodo sicuro???

  7. #7
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    direi decisamente di no...non fai nessun controllo sul get...sarebbe abbastanza facile realizzare una sql injection...qualcosa tipo
    URL..&password='stringa_a_caso' OR ''=''
    la parte OR ''='' ti darà accesso al db anche se non hai scritto una password corretta

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    168
    come potrei renderlo sicuro?

  9. #9
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    una buona partenza sarebbe usare il post come metodo di invio del form...in secondo luogo mysql_real_escape_string il manuale di php dice che è abbastanza sicuro...controlla il manuale per ulteriori chiarimenti

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.