- Home
- Categorie
- Coding e Sistemistica
- PHP
- SESSIONI E COOKIE JAVASCRIPT COZZANO?
-
SESSIONI E COOKIE JAVASCRIPT COZZANO?
Spero possiate aiutarmi:
Ho creato un sito php di commercio elettronico con tanto di sessioni e carrello della spesa, uso Easyphp 1.8 come server locale.
Il carrello della spesa è creato in javascript, e funziona a meraviglia se non uso le sessioni php.
In pratica il carrello funziona creando un cookie javascript, fatto sta che attivando le sessioni con session_start() la stringa (il cookie) creato dal javascript mi viene sporcata dalle indicazioni tipo
PHPSESSID=blablablablabla
Quando aggiungo un articolo nel carrello, la stringa del cookie javascript si modifica e allunga, quindi non resta che fare un bel document.cookie=newstring per riscrivere il cookie nella sua nuova versione + lunga.
Invece proprio questa ultima istruzione, senza dare nessun messaggio di errore, non mi aggiorna il cookie, in pratica è come se venisse ignorata e il cookie non viene aggiornato.Se tolgo le sessioni (e quindi non viene scritto PHPSESSID=blabla) tutto funziona a meraviglia.
I miei pensieri al riguardo sono:
- i cookie javascript non vanno daccordo con le sessioni PHP
- un bug di easyphp
- E' possibile fare in modo che il cookie dove venga scritto
PHPSESSID non sia lo stesso del cookie javascript?
-
ciao, i cookie di una sessione php vengono memorizzati sul server
mentre i cookie javascript vengono memorizzati non come sessione ma proprio come cookie sul client e quindi le due cose non possono essere collegate.
spero di essere stato chiaro anche perche anchio sono da poco nel mondo php.
ciao
-
ciao, i cookie di una sessione php vengono memorizzati sul server
E da quando?
-
guarda ho ripassato proprio ieri
allora le sessioni consistono nell'attribuire un id di sessione all'utente in modo da conservarne l'identità e la sua sessione di visita (va bhe questo dipende da quando si vuole far spirare la sessione).Questo numero univoco viene salvato in 2 modi
1)cookies (nel pc dell'utente)
e nel caso questi siano disabilitati
2)propagati come querystring nell'url
l'id di sessione è un numero univoco (32 caratteri alfanumerici)
i cookies si piazzano nella cartella dei file temporanei dell'utenteora nn so se venga salvato qualcosa anche dalla parte del server..credo di si, visto che ho letto che a sicurezza qui c'è una pecca, ossia che file delle sessioni appartengono tutti allo stesso utente (l'utente di Apache, nobody di default) e vengono tutti salvati nella stessa directory, accessibile a tutti, in lettura e scrittura.
c'è chi può spiegarmi sto passaggio?
-
ecco qua il tassello mancante.
PHP prima di tutto memorizza i dati in un file, che avrà un nome alfanumerico (l'id_di sessione), nel server e invia al cliente tale valore come cookies o in mancanza di questo accodandolo all'url,
questo per far si che poi il browser possa re-inviare il nome della sessione al server e php lo sappia abbinare al suo file