Voglio memorizzare i dati cliccati dall'utente in un cookie che non deve mai andare al server. È come un dato aggiunto alla sessione, che voglio persistere durante le sessioni, poiché nei dati continua ad aggiungersi al cookie, e viene memorizzato per un lungo periodo di tempo, e viene eliminato solo quando l'utente rimuove la cronologia di navigazione. Il cookie è un cookie solo client e non deve mai accedere al server, poiché non ho bisogno dei dati generati dall'utente sul server, quindi voglio eliminare l'overhead aggiuntivo che il cookie crea nell'invio avanti e indietro tra browser e server. È possibile raggiungere questo?Cookie solo client - cookie che non vanno mai al server
risposta
Se la compatibilità del browser è un problema, è possibile utilizzare un javascript per avvolgere varie tecnologie diverse. Le versioni precedenti di IE supportano (supprise supprise) una versione proprietaria di localstorage chiamata userData (non penso che sia esattamente la stessa cosa, ma dovrebbe fare quello che ti serve).
Uno script di wrapper come http://www.jstorage.info/ o https://github.com/marcuswestin/store.js dovrebbe fare ciò che è necessario fare.
Grazie mille @Bulk, darò uno scatto. Personalmente preferirei una soluzione cookie indipendente dal browser, in tal caso i miei casi di insuccesso verrebbero abbattuti al limite delle dimensioni forzate di due browser sul cookie e ai cookie disabilitati sul browser (anche i dati utente/l'archiviazione locale possono essere disabilitati e Immagino che questo caso di fallimento possa essere escluso). –
Non posso dirlo con certezza, sono sicuro al 99% che non esiste una soluzione basata su "cookie", ma sentitevi liberi di continuare a cercare :) –
Sono sicuro al 100% che non è possibile forzare i cookie solo sul lato client, vengono comunque inviati al server. Tuttavia, è possibile fare il contrario: solo cookie lato server (non leggibili da javascript) impostando il flag HttpOnly sul cookie.
So che è un po 'tardi per te, ma questa risposta è per tutti coloro che hanno lo stesso problema.
1) Con HTML5 è possibile utilizzare web storage.
2) (Solo un'idea! - non testato!) È possibile definire un cookie (tramite javascript sul client) e impostare l'attributo "sicuro". In questo caso, il cookie verrà inviato al server solo su connessioni HTTPS. Per assicurarsi che il cookie non lascia mai il browser, non si può mai aprire una connessione HTTPS ;-)
Aggiornamento:
Si potrebbe anche semplicemente impostare il percorso del cookie per un percorso che in realtà non lo fa esistere.
document.cookie="name=value;path=/notExistingPath";
Ho avuto la stessa idea con 2), ma non funziona. Non è possibile accedere ai cookie sicuri da JS (almeno non in FF). 1) funziona alla grande! – Lodovik
Oh giusto. Ho dimenticato l'accesso a js. Ho provato a trovare una soluzione anche per i browser che non supportano ancora lo spazio web. Potresti provare a impostare un valore di percorso dei cookie su un percorso che non esiste. Quindi il cookie non dovrebbe mai essere inviato. (non testet. pls prova a rispondere al risultato) –
Non utilizzare 'path =/notExistingPath' se vuoi che il tuo cookie funzioni su IE o Edge Browser – amanteaux
utilizzare un percorso impossibile per impostare il cookie:
document.cookie = "cookieName=...; expires=... ; path=/never_reached/ablkappmqlnahsuia";
- 1. client websocket Javascript che aggiunge cookie all'intestazione
- 2. jQuery plugin per cookie - $ cookie non definiti
- 3. SessionAuthenticationModule Cookie Handler che non crea cookie HttpOnly sicuro
- 4. aggiungi cookie al WebClient
- 5. Trasferimento di cookie dal browser al client Guzzle 6
- 6. Client di eventi inviati server con cookie aggiuntivo
- 7. SYN Cookie Network Server Security
- 8. come impostare questo cookie per non scadere mai
- 9. Il cookie "metadati" (scadenza, percorso, ...) viene trasferito al server?
- 10. Cookie di sessione = cookie?
- 11. impostazione Microsoft OWIN Test Server cookie
- 12. Imposta cookie accessibile lato client in Express
- 13. Come fare in modo che l'avvio a molla non emetta mai un cookie di sessione?
- 14. L'intestazione Set-Cookie non imposta cookie in Chrome
- 15. Cookie di sessione solo per rotte specifiche
- 16. Che cos'è un cookie fibra?
- 17. Cookie Javascript vs cookie php
- 18. CXF Il client JAX-RS non mantiene i cookie
- 19. Cookie non viene eliminato
- 20. Perché il cookie jQuery non ha effettivamente impostato un cookie?
- 21. jQuery $ .cookie non legge i cookie impostati dalla risposta del server
- 22. HttpClient non invia cookie da CookieContainer
- 23. Protezione cookie e sessioni
- 24. IsPersistent non funziona - Cookie valido solo per la sessione corrente
- 25. Javascript Cookie
- 26. Cookie non si rinnova/sovrascrive in IE
- 27. Cookie sottodominio inviato nella richiesta Intestazione cookie, ma non presente in IE JavaScript document.cookie
- 28. php $ _REQUEST non contiene cookie
- 29. servlet set cookie sicuro?
- 30. IE non cancella i cookie
Può noi il codice per quello che hai provato mostrare? –
A seconda del browser di destinazione, è possibile guardare localStorage - http://paperkilledrock.com/2010/05/html5-localstorage-part-one/ – Archer
'localstorage' è escluso, in quanto ho bisogno di supportare i browser più vecchi, di tutti i più importanti Mark: ho raggiunto tutte le funzionalità, ad eccezione di "pure client side only cookie". Sto creando il cookie con il nome appropriato - coppia valore, data di scadenza e il percorso utilizzando il codice che ho trovato su quirksmode. Sono in grado di controllare il cookie utilizzando javascript. Solo che non sono in grado di raggiungere la parte "cookie solo client". Spero che tu abbia la mia domanda? –