Visualizzazione risultati 1 fino 11 di 11

Discussione: Consiglio per script di login in AJAX / PHP più sicuro

  1. #1
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito Consiglio per script di login in AJAX / PHP più sicuro

    Sto facendo uno script in php e ajax, non ho scritto nella sessione php visto che si tratta anche di ajax.

    Allora.. lo script e formato da un modulo di login che richiama una funzione ajax per trasformare la stringa in md5(), evitando di passare la password in chiaro alla funzione.

    Ora, fin qui tutto ok, pero mi chiedevo, se un malintenzionato utilizza uno di quei servizi on-line che restituisce la stringa originare ( non so se mi spiego ), non sarebbe un problema?

    Per evitare questo, non saprei, magari mi potrete consigliare meglio voi, avevo pensato ad un'altra richiesta ajax proprio per criptare, no un sistema di hasching come l'md5, la stringa realizzato in php, o forse, secondo voi, meglio utilizzare semplicemente il primo metodo?
    Ultima modifica di sevenjeak : 28-08-2012 alle ore 19.38.41

    Sevenjeak
    Software developer and much more

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,294

    Predefinito

    Nota che un malintenzionato che ottenga l'hash md5 potrebbe loggarsi sul tuo sito semplicemente usando l'hash stesso —non deve neanche trovare la password originale.

    Crittazione lato client non è qualcosa che puoi scrivere rapidamente, perché sarà facilmente aggirabile. A quel punto, vai di https.

  3. #3
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Piu che criptazione lato client intendevo chiamare con ajax una pagina php che cripta la stringa.

    https sbaglio o non è supportato da AlterVista?

    Sevenjeak
    Software developer and much more

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Anzitutto AJAX non aumenta per nulla la sicurezza, è solo una comodità per non dover ricaricare i documenti per intero. Se vuoi aumentare di un filino la sicurezza per l'autenticazione senza usare connessioni cifrate (https) puoi procedere così: il server invia al client il normale modulo di autenticazione, con lo script necessario ad aumentare la sicurezza provvisto di un particolare seed (seme). L'autenticazione avviene normalmente se manca il supporto agli script Javascript, altrimenti quest'ultimo provvede a fare alcuni cambiamenti: si mette in ascolto per l'invio del modulo ed un attimo prima che ciò avvenga, prende la password inserita dall'utente, la concatena al seme spedito dal server ed usa su questa stringa così ottenuta una robusta funzione di hash, infine farà in modo che al server non arrivi la password in chiaro ma solamente l'hash della stringa e del seme concatenati. Il server provvedera poi a verificare se l'accesso è avvenuto in maniera corretta eseguendo le medesime operazioni: prelevare la password dal database, concatenarla al seme usato dal client (questo lo può ottenere dal client stesso, anche se è un po' meno sicuro o usare un sistema di sessioni per fare in modo di non farlo transitare più di una volta in chiaro attraverso la rete), usare la medesima funzione di hash usata dal client e infine comparare i due risultati. Se equivalgono l'accesso ha avuto successo.
    Il problema di questo metodo è che il server è obbligato a mantenere in chiaro le credenziali degli utenti.

    Comunque AlterVista offre il supporto alle connessioni protette.

  5. #5
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Non ne sono sicuro, ma su internet credo di aver già trovato uno script che faccia quello che te dici, il problema e che non lo proprio capito, cercherò di vedere meglio la cosa.

    Sevenjeak
    Software developer and much more

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Indicalo qui, così lo vediamo anche noi.

  7. #7
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Lo script è questo:

    http://www.jamesdam.com/ajax_login/login.html

    Non saprei se lo script fa proprio quello che te indenti ma da quello che ho visto, quando effettuo il login, nell'header della pagina viene passato solo l'username in chiaro, il resto credo che sia la password concatenato ad altro, ma non saprei.

    P.S.: Per quando riguarda le connessione protetta, tramite protocollo https, vi ringrazio a tutte e due per avermelo consigliato, pensavo che AlterVista non lo supportava, ma credo che non la userò per questo script, la userò invece per un sistema di login con un numero limitato di utenti.
    Ultima modifica di sevenjeak : 29-08-2012 alle ore 09.13.32

    Sevenjeak
    Software developer and much more

  8. #8
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Sì, ottiene il seme mediante una richiesta HTTP con l'oggetto XMLHttpRequest (quando il campo username viene selezionato). Poi lo usa come puoi notare in riga sessanta dello script all'indirizzo http://www.jamesdam.com/ajax_login/login_controller.js.

  9. #9
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Dopo aver guardato meglio lo script sto provando, credo di averlo capito, sto provando a farne un'altro modificando quello che già avevo.

    Solamente una domanda, se vorrei fare la stessa cosa solamente con php, per permettere il login a che non ha il supporto javascript, ovviamente non potrei vero?

    Sevenjeak
    Software developer and much more

  10. #10
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Dovresti servire la pagina in modo tale che sia funzionante anche senza l'ausilio di Javascript, sara poi lo script che nel momento dell'invio modificherà le informazioni del modulo permettendo la trasmissione dell'hash e non della password. Se non si ha il supporto a Javascript, i dati verranno trasmessi in chiaro. Comunque se provi ad implementarlo usa funzioni più robuste dell'MD5, come SHA-1 (come consiglia l'autore dello script da te segnalato).

  11. #11
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Non saprei se sto seguendo il procedimento giusto, questo e lo script ( non finito ):

    http://sevenjeak.altervista.org/testing/index.html

    Lo script registra l'id del seed e il seed e lo salva nel db quando si verifica levento onfocus sul campo pass, e mi memorizza in delle variabile il valore e l'id dell'ultimo seed inserito, e fin qui tutto ok, quando eseguo il submit del form, che mi dovrebbe eseguire la funzione runLogin(), non mi funziona.

    EDIT:

    Ok.. ho risorto il problema, ora mi rimane solo da fare la pagina di login, grazie a tutte e due per l'aiuto.
    Ultima modifica di sevenjeak : 31-08-2012 alle ore 11.35.14

    Sevenjeak
    Software developer and much more

Regole di scrittura

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