2013-05-18 13 views
5

stavo creando il mio sito quando ho creato un nuovo cookie con questa linea php:Google Chrome massima biscotto data di scadenza

setcookie('subscribed', 'true', time() + 365*24*3600*100, '/', null, false, true); 

ho capito il mio browser (Google Chrome) ha rifiutato di ottenere il cookie. Quando ho guardato i miei cookie in Google Chrome non c'era. Ho iniziato a giocherellare con le diverse impostazioni fino a quando ho visto che questo ha funzionato:

setcookie('subscribed', 'true', time() + 365*24*360, '/', null, false, true); 

Il che significava che cambiando il tempo di scadenza per un valore inferiore ha funzionato come un mezzo per fare questo lavoro.

La mia domanda è, qual è la scadenza minima che è possibile impostare per un cookie in Google Chrome? Qualcuno sa di questa politica?

+5

'time() + 365 * 24 * 3600 * 100' supererà il valore massimo per intero su sistema a 32 bit. –

+0

Quindi qual è il limite massimo su un sistema a 32 bit? – Farid

+1

@Farid è 2.147.483.647. Il valore massimo di un intero con segno a 32 bit. – likeitlikeit

risposta

8

L'ho appena provato su un sistema operativo a 64 bit con Chrome come browser e Apache come server e funziona perfettamente. Essa mostra il tempo di scadenza del cookie di essere da qualche parte nel corso dell'anno 2113.

dev-null-abitante ha probabilmente ragione: Qualsiasi data oltre 03:14:07 UTC del Tuesday, 19 January 2038 sarà avvolgere intorno a qualche tempo vicino al 1900, costringendo quindi il cookie a sparire immediatamente (su piattaforme a 32 bit, cioè).

Lavorare in questo modo impostando i tempi di scadenza dei cookie non più di 10 anni nel futuro, o così. Questo è già oltre la durata ragionevolmente prevedibile di qualsiasi dispositivo elettronico, che lo manterrà, comunque.

+0

Sì, sono in un sistema a 32 bit, e sì, impostare il tempo a 10 anni ha funzionato. Molte grazie! – Farid