Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776

    Si perde la sessione dopo il redirect della banca

    Ciao a tutti,
    nella web utilizziamo un metodo di pagamento mediante il sistema redsys.

    Quando faccio un redirect alla banca per il pagamento le passo 2 parametri:
    DS_MERCHANT_URLOK
    DS_MERCHANT_URLKO

    Che sono i due parametri per fare un redirect dopo il pagamento negativo o positivo, in modo che l'utente ritorni alla nostra pagina web.

    Quando la banca fa il redirect si perdono tutti i dati di sessione e l'utente risulta sconnesso.

    Ho contattato la banca e mi hanno detto che non hanno modificato nulla.
    Mi date qualche suggerimento su come provedere per verificare dove potrebbe essere il problema?
    ...mesi fa non succedeva, l'utente rimaneva connesso, non perdeva i dati di sessione.

    Grazie,
    Roberto

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Esegui la procedura tenendo aperta la console del browser e vedi se tornando sul sito vengono mostrati errori riguardanti le regole CORS, danno un sacco di problemi se non gestite correttamente. Potrebbe trattarsi di mettere in white list il dominio della banca.

  3. #3
    Prova a salvare i dati che ti servono in cookie persistenti.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Esegui la procedura tenendo aperta la console del browser e vedi se tornando sul sito vengono mostrati errori riguardanti le regole CORS, danno un sacco di problemi se non gestite correttamente. Potrebbe trattarsi di mettere in white list il dominio della banca.
    ...no, niente errori di cors.
    Altri suggerimenti?

    Grazie!

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Quote Originariamente inviata da filippo.toso Visualizza il messaggio
    Prova a salvare i dati che ti servono in cookie persistenti.
    sì, ma in questo modo non potrei creare un problema di sicurezza?

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Sulla pagina da cui passi i dati alla banca, in quella in cui dovresti ritornare e quella su cui invece vai (essendo non più loggato penso sia diversa dalla pagina dove dovebbe rimandarti il ritorno dalla banca), metti queste due righe
    Codice PHP:
    echo session_id();
    echo 
    ini_get('session.cookie_domain'); 
    Vedi se ottieni lo stesso output, la seconda riga dovrebbe non stampare niente.

    Se l'id di sessione risultasse diverso, vorrebbe dire che qualcosa non va con i settaggi della sessione e almeno sarebbe un punto di partenza più certo.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Sulla pagina da cui passi i dati alla banca, in quella in cui dovresti ritornare e quella su cui invece vai (essendo non più loggato penso sia diversa dalla pagina dove dovebbe rimandarti il ritorno dalla banca), metti queste due righe
    Codice PHP:
    echo session_id();
    echo 
    ini_get('session.cookie_domain'); 
    Vedi se ottieni lo stesso output, la seconda riga dovrebbe non stampare niente.

    Se l'id di sessione risultasse diverso, vorrebbe dire che qualcosa non va con i settaggi della sessione e almeno sarebbe un punto di partenza più certo.
    Ho fatto quello che mi hai detto.
    Risulta essere diverso l'id di sessione quando torno alla mia pagina web e provengo dalla banca.

    La soluzione potrebbe essere quella di salvare un hash in una cookie e in una tabella del mio db e ripristinare la login quando arrivo su questa pagina?

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Quindi hai problemi con la sessione, potrebbe essere che il cookie PHPSESSID non sia dichiarato correttamente e che quindi venga ignorato facendoti perdere la sesssione.
    Prova a dichiararlo come "httponly" e "secure", per impostare il cookie in questione puoi dare un'occhiata qui.

  9. #9
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Potrebbe non essere il caso, ma hai controllato che l'url da dove provieni e lo stesso di dove si viene rediretti?
    Per esempio io sono impazzito un giorno intero per poi scoprire che http://www.miosito.it e http://miosito.it sono due domini distinti

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Quindi hai problemi con la sessione, potrebbe essere che il cookie PHPSESSID non sia dichiarato correttamente e che quindi venga ignorato facendoti perdere la sesssione.
    Prova a dichiararlo come "httponly" e "secure", per impostare il cookie in questione puoi dare un'occhiata qui.
    Adesso la sessione viene inizializzata in questo modo:
    Codice PHP:
                ini_set('session.gc_maxlifetime'0);
                
    session_set_cookie_params(0'/; samesite=strict');
                
    session_start(); 
    Cosa dovrei aggiungere?

    Grazie,
    Roberto

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.