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

    Sessioni e cookie accettabili

    Salve a tutti,
    Ho un dilemma che mi affligge su delle pagine che ho creato per l'iscrizione di utenti.
    Utilizzo le sessioni.
    Registro una viariabile di sessione.
    $_SESSION['pippo'] = md5(microtime());
    Mando un email all utente dopo che ha riempito il modulo.
    L'utente legge la mail e clicca per confermare.
    Cliccando, se la variabile di sessione risulta essere uguale a quella mandata per email allora inserisco lutente nel db.
    Molti utenti si iscrivono altri invece non riescono.
    Io gli dico che devono impostare i cookie.
    Nel caso poi del browser ie6 deve essere impostato a livello basso la protezione.
    Ci sono utenti che sono iscritti a facebook e navigano e a quanto ne sò anche facebook utilizza sessioni e cookie.
    Allora perché non riescono a iscriversi al mio sito?
    Mi domando:
    Non sarò io a mandare un cookie che alcuni browser ritengono non accettabili?
    Io non faccio nulla.
    Imposto solo una variabile di sessione e basta.
    Magari dovrei impostare qualcos altro.

    Quanto dura il cookie dipende solo dalla durata della sessione che è di un giorno.

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Dunque, chiariamo che le sessioni e i cookie sono due cose diverse e indipendente. Quindi, prima di tutto, la durata della sessione è diversa da quella del cookie e dipende principalmente dalla configurazione di php.
    Cmq da quel che ho capito questo sistema registra in sessione una variabile php e manda una e-mail all'utente, l'utente deve poi controllare l'email e cliccare sul link di conferma, che lo rimanda al tuo sito.
    Io credo che l'inghippo nasca dal fatto che l'utente entra nel tuo sito, esce poi da esso per controllare l'e-mail e vi rientra dopo. Peccato che nel momento in cui esce dal sito per controllare l'e-mail la sessione del tuo sito viene persa.
    Gli utenti che riescono a iscriversi lo fanno perché, probabilmente, aprono il sito della posta in un'altra finestra o usano un client di posta.
    In parole povere, session non ti basta per fare questo tipo di lavoro.
    Hai detto che usi i cookie e questo in teoria funziona ma potresti usarlo nel modo sbagliato, posta il codice che è meglio.
    Comunque si può ottenere lo stesso risultato anche senza usare nè cookie nè sessioni: registri il nuovo utente nel db come utente "da confermare" e lo rendi definitivo solo quando clicca sulla e-mail.

  3. #3
    Grazie della risposta.
    Il codice in questo momento non ce l'ho.
    Comunque le righe di codice che riguardano la sessione è solo session start con le relative configurazioni e $_SESSION['variabile'] = md5(variabile);

    poi quando l'utente clicca controllo
    if ($_SESSION[variabile]==$_GET[variabile])
    { echo "allora sei tu, ti registro";}

    Ho fatto varie prove con più browser.
    Sono giunto finto ad arrivare che anche ie6, se utilizzo la stessa finestra abbandonando il sito per andare a leggere la posta, si registra.

    A me non capita più il problema.
    Ad alcuni utenti si e non capisco proprio perché.

    Mi domando:
    Se utilizzassi il db per la conferma eliminerei definitivamente il problema?
    Se il problema sono le sessioni che non vanno bene chissà per quale motivo... se un utente si logga non potrà navigare perché il sito non si può navigare senza sessione.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    209
    Sono giunto finto ad arrivare che anche ie6, se utilizzo la stessa finestra abbandonando il sito per andare a leggere la posta, si registra.
    Ma tu probabilmente lo fai immediatamente, gli altri utenti, probabilmente, lasciano passare molto tempo da un passaggio all'altro e nel frattempo, l'informazione di sessione viene persa.

    Se usi il sistema del db non hai limiti di tempo in quanto l'informazione del nuovo iscritto rimane sempre nel database.
    Potresti anche usare i cookie ma dal punto di vista della sicurezza è meglio il sistema database tramite il quale, tra l'altro, non hai nemmeno bisogno di registrare dati in sessione.

    Il fatto che una sessione non funzioni non può dipendere dal browser perché le sessioni sono mantenute nel server, e poi dici che alcuni utenti riescono a loggarsi quindi non credo sia quello il problema.

  5. #5
    Vi ringrazio delle risposte.
    Opterò per la versione DataBase.
    Più interessante ed efficace.

    Giorni fa tra l'altro (sempre se interessa) un utente non riusciva ad iscriversi ma poi ha navigato con il mio account.
    Quindi viva il Database.
    Grazie a tutti!

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.