Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Condividere la sessione php tra due siti su due server fisicamente diversi

    Ciao a tutti!

    Recentemente mi si è presentata la necessità di condividere la sessione php tra due siti che si trovano su due server diversi. Credo di aver risolto il problema, ma volevo spiegarvi la soluzione da me escogitata per avere opinioni e consigli su come eventualmente migliorarla. Sono anche ben accette soluzioni diverse, magari più sicure di quella da me adottata. :-)

    Mi spiego meglio: entrambi i siti, chiamiamoli A e B, presuppongono l'autenticazione dell'utente per accedere ad una sezione riservata. La sezione riservata però si trova nel sito B per cui se l'utente si autentica dal sito B il problema non sussiste mentre se l'utente si autentica dal sito A allora deve essere rimandato al sito B e deve entrare direttamente nella sezione riservata senza chiedere alcuna ulteriore autenticazione.

    In poche parole ho adottato questa soluzione: quando l'utente si logga dal sito A creo tutti i valori di sessione richiesti dal sito B per l'autenticazione, poi "serializzo" la sessione in una stringa e la registro in un file di testo. Il nome del file di testo è costituito da un prefisso segreto (una stringa costante) concatenato all'md5 di una stringa (questa stringa è rappresentata dall'id di sessione corrente concatenato al timestamp attuale). So che avrei potuto usare direttamente il file di sessione creato da Php ma volevo una cosa ancora più sicura. :-)

    Registrato questo file redirigo l'utente ad uno script presente sul sito B che si occupa di leggere questo file, "de-serializzare" la stringa e ottenere la sessione; in tal modo l'utente risulta loggato correttamente. Naturalmente una volta utilizzato il file di testo viene poi rimosso.

    Cosa ne pensate di questa soluzione? Avete qualche consiglio per migliorarla? Sono ben accette anche soluzioni alternative. :-)

    Un grazie anticipato a tutti! :-)

  2. #2
    Mi pare una buona soluzione.
    anche io, che sviluppo molto in ambito J2EE, avrei pensato alla serializzazione/deserializzazione.

    Altrimenti,
    appoggiandoti ad un DB, dal server B avresti potuto ricaricare i dati corrispondenti ad un token inviatogli dal server A.

    Cmq mi sembra una buona soluzione,
    forse è anche pattern.

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  3. #3
    Vero... avrei potuto usare anche un token depositato su un db, non ci avevo pensato. Che intendi con pattern?

  4. #4
    con pattern si intende un modello procedurale applicabile per la risoluzione di un algoritmo, sia esso di carattere applicativo che organizzativo.

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

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.