Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Aiuto per creazione opzione "Ricordami l'accesso" in pagina di login

    Ciao ragazzi

    In una precedente discussione mi è stato detto che non è saggio creare una pagina di login facendo uso dei cookie perchè un qualsiasi malintenzionato potrebbe appropriarsi dei cookie del mal capitato e fare quello che vuole del suo profilo (potrebbe rubarli anche con un semplice script JS).

    Ora la mia domanda è questa: quale è il metodo più sicuro per salvare i dati di accesso in una pagina di login quando l'utente clicca sull'opzione "Ricordami l'accesso automaticamente"?

    Nel mio sito sto facendo uso delle sessioni.
    Quando viene chiuso il browser, la sessione viene chiusa.

    Per evitare di rimettere i propri dati di login ad ogni apertura del browser ho pensato che potrei salvare su un cookie i dati di accesso per far accedere l'utente automaticamente.
    Ovviamente la password verrebbe codificata col metodo MD5...

    Ora, se è vero che non è saggio fare un cookie per gestire l'accesso, quale metodo mi suggerite voi?

    Grazie a tutti

  2. #2
    Volendo puoi usare anche i cookie, ma senza salvare al loro interno la password, ma assegnando all'utente una stringa casuale come password provvisoria, che magari scada dopo mezz'ora che l'utente non compie azioni, semplicemente impostando ad ogni caricamento do pagina il controllo, confrontando il cookie con una sessione in cui è salvata la password provvisoria e se questo viene passato con successo, posticipare la scadenza del cookie stesso. Ovviamente è da settare anche una scadenza per la sessione. Per aumentare la sicurezza se vuoi puoi anche controllare l'ip del client. Lo puoi ottenere con questo codice:
    Codice PHP:
    <?php
    $ip
    =$_SERVER['REMOTE_ADDR'];
    ?>
    Per generare la stinga casuale ho un codice che avevo creato per un sito fatto da me:
    Codice PHP:
    <?php
        
    //Stringa di origine (caratteri che potranno essere usati)
        
    $src='0123456789abcdefghijklmnopqrstuvwxyz';
        
        
    //Lunghezza massima della stringa di output
        
    $max_out_length=128;
                                                            
    //Nota: per una stringa a lunghezza fissa, inserire il valore massimo uguale al minimo
        //Lunghezza minima della stringa di output
        
    $min_out_length=32;
        
        

        
        function 
    random_text($src,$max_out_length,$min_out_length){
            
    $src_length=strlen($src);
            if(!isset(
    $src) || $src==null || $src==''){
                echo(
    'Campo caratteri utilizzabili vuoto.');
                exit();
            }
            if(
    $min_out_length>$max_out_length || !is_int($min_out_length) || !is_int($max_out_length) || $min_out_length<=|| $max_out_length<=0){
                echo(
    'Errore. Valori lunghezza stringa massimo e minimo non validi.');
                exit();
            }
            for(
    $iter1=0;$iter1<=$src_length;++$iter1){
                
    $chars[]=substr($src,$iter1,1);
            }
            
    $out='';
            
    $out_length=rand($min_out_length,$max_out_length);
            for(
    $iter2=0;$iter2<$out_length;++$iter2){
                
    $rand=rand(0,$src_length-1);
                
    $rand_char=$chars[$rand];
                
    $out="$out$rand_char";
            }
            return(
    $out);
        }
        echo(
    random_text($src,$max_out_length,$min_out_length));
    ?>
    Certo la sicurezza non è enorme, anche se migliore di quella che si ottiene salvando nei cookie la password... un eventuale hacker deve mirare proprio ad un determinato account per poterla superare... soprattutto se controlli anche l'ip
    Se invece vuoi un sistema davvero molto sicuro devi pensare ad un protocollo crittografato.
    Spero di esserti stato d'aiuto,
    Ciao

  3. #3
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    in passato ho usato la concatenazione di alcune stringhe univoche che mi correlano all'utente, md5izzo, ne prendo alcuni caratteri e salvo quelli nel cookie

    il che mi fa sentire relativamente (e magari erroneamente) al sicuro... che ne dite?

    il controllo sull'ip non posso farlo perchè non sempre è fisso

  4. #4
    Originariamente inviato da furbostandby
    Volendo puoi usare anche i cookie, ma senza salvare al loro interno la password, ma assegnando all'utente una stringa casuale come password provvisoria
    Ciao, ti ringrazio per la risposta

    Domanda: che differenza fa se salvo una password provvisoria o la password vera e propria?
    In ogni caso un malintenzionato potrebbe rubare il cookie ed entrare così nell'account dell'utente spacciandosi per lui visto che si sarà copiato il cookie sul suo browser e la mia pagina non noterà nulla di strano...

  5. #5
    la sicurezza sta proprio nel fatto che è provvisoria...
    se verifichi anche l'ip aumenta ulteriormente...
    In ogni caso è espugnabile senza troppe difficoltà qualunque metodo usi senza crittografia...
    Hai proprio bisogno di una sicurezza così rigorosa?

  6. #6
    Originariamente inviato da furbostandby
    Hai proprio bisogno di una sicurezza così rigorosa?
    Il controllo dell'IP non ha molto senso visto che è dinamico...
    Una sicurezza così rigorosa?? fai un pò tu... si tratta di una banca!! ahahah scherzo

    Si tratta di un social network...

  7. #7
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    senza cookie non puoi fare nulla
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  8. #8
    certo che puoi fare il controllo dell'ip, lo aggiorni ad ogni accesso...

  9. #9
    Originariamente inviato da furbostandby
    certo che puoi fare il controllo dell'ip, lo aggiorni ad ogni accesso...
    Quindi ricapitolando dovrei creare il cookie con la password provvisoria e controllare che l'IP sia lo stesso di quando si è effettuato l'accesso, giusto?

    Scusa, ma in questo modo non si dovrebbe rieffettuare l'accesso ad ogni cambio di IP?
    Questo significa rifare l'accesso ogni volta che il pc si connette alla rete...

  10. #10
    sì, ma l'ip di un utente cambia ogni volta che si connette, non quando gli pare...

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.