Come rendere sicuro il Login

di il
3 risposte

Come rendere sicuro il Login

Ciao.
Come posso rendere sicura la parte che riguarda il login di un utente?
Questo blocco di codice si trova nella pagina login.html
"mJSON", contiene i dati di accesso
function requestClient(mJSON) {
    var response = 0;
    let xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {
            response = xhttp.response;//--- Qui è molto facile bypassare l'autenticazione
            if(response == "LOGGATO"){
              location.replace("/Content/choose.html");//-- Qui l'indirizzo è visibile. Questa è la pagina dell'utente
            }
            if(response == "ERRORE"){
              notice();
            }
        }
    };
    xhttp.open("POST", "/LoginOrSignjs/logDb/login.php?q=" + mJSON, true);
    xhttp.send();
response è la risposta del server che può essere facilmente bypassata con
response="LOGGATO"
ed in oltre è visibile l'indirizzo
 location.replace("/Content/choose.html");
a cui puoi accedere, solo con l'autenticazione
Basta aggiungerlo all'url e bypassi l'autenticazione.
Non so come si fanno per bene le cose

3 Risposte

  • Re: Come rendere sicuro il Login

    Prendere i dati tramite POST in PHP e poi creare un cookie codificato
  • Re: Come rendere sicuro il Login

    E' una questione "FILOSOFICA".
    Il login serve per DUE cose, anzi TRE:

    1) AUTENTICARE l'utente, cioe' assicurarsi che l'utente si uno di quelli registrati nella piattaforma
    2) AUTORIZZARE l'utente, cioe' identificare quali sono i permessi assegnati all'utente e quindi le cose che puo' fare (ad esempio puo' fare delle SELECT MA NON creare nuove tabelle: e' SOLO un esempio!!!)
    3) CREARE un canale di comunicazione UNIVOCAMENTE IDENTIFICABILE in modo che NESSUN altro possa intrufolarsi. Questo si puo' fare in tanti modi, uno dei quali e' quello di usare un TOKEN, cioe' un oggettino mandato avanti ed indietro tra client e server e che il server usa per CONTROLLARE che l'utente sia chi dice di essere e chiami da dove dice di chiamare.

    Ad esempio, il TOKEN puo' tenere traccia dell'IP del client, del timestam in cui e' stato fatto il login e magari dell'ultimo accesso fatto.

    NESSUN ALTRO, a meno di non trovarsi ESATTAMENTE di fronte al computer che ha fatto la connessione, puo' usare lo STESSO TOKEN, ANCHE se lo copia TALE E QUALE
  • Re: Come rendere sicuro il Login

    migliorabile ha scritto:


    E' una questione "FILOSOFICA".
    Il login serve per DUE cose, anzi TRE:

    1) AUTENTICARE l'utente, cioe' assicurarsi che l'utente si uno di quelli registrati nella piattaforma
    2) AUTORIZZARE l'utente, cioe' identificare quali sono i permessi assegnati all'utente e quindi le cose che puo' fare (ad esempio puo' fare delle SELECT MA NON creare nuove tabelle: e' SOLO un esempio!!!)
    3) CREARE un canale di comunicazione UNIVOCAMENTE IDENTIFICABILE in modo che NESSUN altro possa intrufolarsi. Questo si puo' fare in tanti modi, uno dei quali e' quello di usare un TOKEN, cioe' un oggettino mandato avanti ed indietro tra client e server e che il server usa per CONTROLLARE che l'utente sia chi dice di essere e chiami da dove dice di chiamare.

    Ad esempio, il TOKEN puo' tenere traccia dell'IP del client, del timestam in cui e' stato fatto il login e magari dell'ultimo accesso fatto.

    NESSUN ALTRO, a meno di non trovarsi ESATTAMENTE di fronte al computer che ha fatto la connessione, puo' usare lo STESSO TOKEN, ANCHE se lo copia TALE E QUALE
    1 = Stolto
    2 = Top se fatto bene
    3 = Nerd
Devi accedere o registrarti per scrivere nel forum
3 risposte