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

    I Cookie non si settano!

    Salve a tutti,

    ho uno strano problema con i cookie... non riesco a capirne la causa né come potrebbe essere risolto:

    ho un'area riservata con password che gestisco con i cookie; se una persona effettua l'accesso, viene settato il cookie e può navigare tra le varie pagine dell'area riservata.

    Questo script l'ho realizzato mesi fa, e in tutto questo tempo non ho mai avuto il minimo problema. L'ho inoltre usato e testato con diversi siti, su diversi server, e tutto funziona alla perfezione.

    Ma in uno di questi siti, dall'altro ieri, stranamente non mi funziona più nulla, all'improvviso!

    Ecco cosa succede:

    • se faccio il login, il cookie si setta, ma non mi fa entrare ugualmente nell'area riservata (come se il cookie non fosse stato mai creato o sarebbe scaduto all'improvviso)
    • se cancello i cookie dal browser, non appena faccio l'accesso, ecco che tutto funziona
    • se più avanti rifaccio l'accesso, ecco che NON funziona di nuovo: bisogna cancellare ancora i cookie (in pratica funziona una volta si e una no).


    faccio notare anche le seguenti cose:

    • non ho toccato nulla nel codice, tutto è avvenuto all'improvviso
    • non è un problema solo del mio browser, ho testato la cosa da diversi computer.
    • se provo lo script su un altro server, è tutto ok
    • il cookie non ha timer(), teoricamente dovrebbe cancellarsi non appena viene chiuso il browser


    quello che mi domando è questo: i cookie sono memorizzati sul nostro hard disk... perchè allora, visto lo strano comportamento, tutto mi fa pensare ad un problema di configurazione del server?
    Esiste qualche settaggio di apache/php che se modificato può far causare questo problema?

    le ho provate tutte ...

    grazie!
    =======
    Daniele

  2. #2
    il problema può essere causato da un settaggio di PHP. nel file di configurazione php.ini c'è la clusola "register_globals" (On | Off), che permette di registrare alcune informazioni (cookies, sessioni, dati inviati in get e post) come variabili globali. ora, quest'opzione era di default abilitata nelle precedenti versioni di PHP, mentre nelle più recenti viene disabilitata per default per motivi di sicurezza, quindi è possibile che sul server nel quale risiede il sito abbiano aggiornato PHP ad una versione più recente e che quell'opzione sia disabilitata.

    se leggi i cookies come normali variabili (es.: registri un cookie che si chiama "prova" e lo leggi come: $prova) il motivo potrebbe essere questo (anche se è strano che certe volte funzioni ed altre no.... in teoria non dovrebbe funzionare mai).

  3. #3
    si, ci sono le restrizioni di register globals... infatti leggo le variabili con $_GET[] e $_POST[]
    ma questo settaggio esiste da circa un anno e i cookie funzionavano tranquillamente...

    ma come dovrei leggere allora i cookie con le restrizioni?

    fino ad ora ho fatto così:

    codice:
    if (isset ($HTTP_COOKIE_VARS) ) { 
    	while (list ($nomecookie, $valorecookie) = each ( $HTTP_COOKIE_VARS ) ) {
    		$daticookie = explode(",", $valorecookie); // estrae i dati in un array
    	}
    }
    ora che ci penso, può essere che questo $HTTP_COOKIE_VARS dia dei problemi?
    Esiste un altro modo più sicuro?
    =======
    Daniele

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.