Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: [php]login sicuro

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    41

    [php]login sicuro

    Salve a tutti, vorrei chiedervi delle informazioni riguardo alla sicurezza. A noi, a scuola, hanno insegnato a fare il login, contenuto in un file login.php, in questo modo:

    Codice PHP:
    <?php

      session_start
    ();

      include 
    'connect.php';  //includo i mysql_connect e select_db
     
    ?> 
     <html>
     <body>
     <?php
     
    if (isset($_POST['acc']))
    {
     
    $em=$_POST["us"];
     
    $pw=$_POST["pw"];
     
     
    $app "SELECT * FROM Utente WHERE Email='".$em."' AND Password='".$pw."'";
     
    $query trim(stripslashes($app));
     
    $result mysql_query($query);
     
    $row mysql_fetch_array($result);

     if(!
    $row)
     {
      echo 
    "<p class='par'>Username o password errati!</p>";
      echo 
    "<p class='par'>[url='login.php']<span>Riprova</span>[/url]</p>";
     }
     else
     {
        
    $_SESSION['ID']=$row[mysql_field_name($result,1)]; //recupero il nome
        
    $_SESSION['ac']=$row[mysql_field_name($result,0)]; //recupero la chiave primaria
        
    echo "<p class='par'>Benvenuto ".$_SESSION['ID']."</p>";
        echo 
    "<p class='par'>Accesso alla tua area personale in corso..."
        echo 
    "<meta http-equiv='Refresh' content='1; user.php'>"
       
      }
     }

     else
     { 
      echo 
    "<form name='f1' method='post' action='login.php'>";
    ?>
      


    E-mail:<input type=text name='us' value=""></p></div>


    Password:<input type=password name='pw' value=""></p></div>


    <input type=submit name='acc' value='Accedi'></p></form>
    <?php
     
    }
     
    ?>

     </div>
     </body>
     </html>
    Tuttavia, ora che devo inserirlo nel mio sito web, mi vengono seri dubbi
    Innanzitutto per il fatto che sul database non ho utilizzato nessun algoritmo di criptazione per le password (e qui vi chiedo se è meglio usarlo)..e poi perchè non mi ispira molto mi sa di troppo facile da attaccare cosa mi consigliate, per renderlo sicuro?

  2. #2
    un sistema potrebbe essere quello di criptare la password in md5.
    Qui c'e un esempio:
    Codice PHP:
    <?php
    $key 
    'password';
    $string 'string to be encrypted'// note the spaces
     
    $encrypted base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256md5($key), $stringMCRYPT_MODE_CBCmd5(md5($key))));
    $decrypted rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256md5($key), base64_decode($encrypted), MCRYPT_MODE_CBCmd5(md5($key))), "\0");
     
    echo 
    'Encrypted:' "\n";
    var_dump($encrypted);
     
    echo 
    "\n";
     
    echo 
    'Decrypted:' "\n";
    var_dump($decrypted); // spaces are preserved


    ?>

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    41
    Pensavo anche io a quello, oltre a gestire, se possibile, la pagina usando l'https anzichè l'http. Ma a questo punto, se cripto la password, come lo metto il campo dentro il db?

  4. #4
    io prima la cripterei e poi la inserirei nel db: se qualcuno legge il db vede una password criptata e niente di piu'.
    Quando la leggo dal db la decripterei.
    Puoi utilizzare anche altri accorgimenti semplici ma di buon effetto, ad esempio aggiungi un certo numero al codice ascii di ogni carattere, cosi' rimane ancora piu' difficile da decifrare anche per chi riuscirre ad entrare in possesso della password per decriptare...

  5. #5
    Originariamente inviato da ste9206
    Pensavo anche io a quello, oltre a gestire, se possibile, la pagina usando l'https anzichè l'http. Ma a questo punto, se cripto la password, come lo metto il campo dentro il db?
    se intendi in che formato, il codice criptato e' una stringa

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    41
    Si intendevo come varchar e volevo chiedere..su altri siti ho trovato funzioni che trattavano anche i cookies..devo includerne qualcuna? e poi come si fa ad abilitare apache in modo da poter usare l'SSL e quindi https anzichè http?

  7. #7
    Per quello che riguarda i cookies, questi vengono memorizzati nel pc client, cioe' nel pc che sta effettuando la navigazione: io non inserirei li dati riguardanti la sicurezza (a meno che non debba ricordarmi ad esempio per le pagine successive, quale sia lo username o cose del genere...).
    Per quanto riguarda apache non saprei come consigliarti, penso sia un'impostazione che vada configurata sul server.

  8. #8
    Ragazzi, vi posto un link che vi farà drizzare i capelli

    http://tools.web-max.ca/encode_decode.php

    l'unico che per il momento è "sicuro" (a parte il pc spento ovvio)

    è

    sha512

  9. #9
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    Originariamente inviato da ste9206
    e poi come si fa ad abilitare apache in modo da poter usare l'SSL e quindi https anzichè http?
    è un servizio che non tutti i provider forniscono insieme al pacchetto di default, quindi ti consiglio di documentarti o di cercarne qualcuno che lo includa.Solitamente è una funzione richiesta per ecommerce.
    Per attivarlo in locale leggi qui
    http://guide.debianizzati.org/index....razione_di_SSL


  10. #10
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    48
    invece di usare "$query = trim(stripslashes($app));" potresti usare la funzione "mysql_escape_string()" o la funzione "mysql_real_escape_string" poi si ti conviene criptarte la password con l md5 (funzione "md5($password)") o meglio con lo sha1 (funzione "sha1($password)") poi la memorizzi al interno del db come stringhe, in tal caso dovrai usare la funzione md5() (o sha1()) anche quando fai "$em=$_POST["us"];" dovresti fare "$em=md5($_POST["us"]);". Per una guida buona e completa sulla sicurezza ti consiglio questo link, è chiaro e preciso:
    http://php.html.it/guide/leggi/121/g...urezza-di-php/

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 © 2024 vBulletin Solutions, Inc. All rights reserved.