Visualizzazione risultati 1 fino 8 di 8

Discussione: problema $_COOKIE

  1. #1
    Guest

    Predefinito problema $_COOKIE

    Salve, eseguendo il login in una piattaforma MyBB , ho notato che viene salvato un cookie di nome mybbuser , solamente che dal sito (dove c'è anche il forum) facendo
    Codice PHP:
    echo $_COOKIE['mybbuser'];
    non appare nulla. Non credo ciò dipenda dal nome del cookie uguale anche da altri siti dato che comunque dal php vengono letti solo quelli del sito..

    Può dipendere forse dal fatto che il cookie viene salvato da una cartella e non dalla root principale? O può esser causato dal "sottodominio" che si crea quando si registra un sito su altervista?

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Quando si salva un cookie, si può limitare l'accesso ad uno specifico percorso, non solo al dominio di creazione. Per verificare se questo è il caso, puoi controllare i dettagli del cookie.

    E.g., in Firefox puoi usare la pagina chrome://browser/content/preferences/cookies.xul, che per ogni cookie ti mostra il dominio ed il path ai quali è limitato.

  3. #3
    Guest

    Predefinito

    mmh, nel cookie da quella pagina ci sono queste informazioni:

    Nome: mybbuser
    Contenuto: *Il suo contenuto*
    Dominio: .zonahabbo.altervista.org
    Percorso: /forum/
    Invia per: Qualunque tipo di connessione
    Scadenza: *data scadenza*

    Devo modificare la path del cookie qindi (quando viene registrato) in ./ ? (VIene registrato dalla cartella /forum/ )

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Devi convincere in qualche modo mybb a salvare i cookie con un path diverso (e.g., /). Non ho idea se questo sia possibile via configurazione o solo via modifiche al codice.

  5. #5
    Guest

    Predefinito

    Mmh il cookie viene salvato così:

    Codice PHP:
    my_setcookie("mybbuser", $user_info['uid']."_".$user_info['loginkey'], null, true);
    La funzione my_setcookie:
    Codice PHP:
    function my_setcookie($name, $value="", $expires="", $httponly=false)
    {
    global
    $mybb;

    if(!
    $mybb->settings['cookiepath'])
    {
    $mybb->settings['cookiepath'] = "/";
    }

    if(
    $expires == -1)
    {
    $expires = 0;
    }
    elseif(
    $expires == "" || $expires == null)
    {
    $expires = TIME_NOW + (60*60*24*365); // Make the cookie expire in a years time
    }
    else
    {
    $expires = TIME_NOW + intval($expires);
    }

    $mybb->settings['cookiepath'] = str_replace(array("\n","\r"), "", $mybb->settings['cookiepath']);
    $mybb->settings['cookiedomain'] = str_replace(array("\n","\r"), "", $mybb->settings['cookiedomain']);
    $mybb->settings['cookieprefix'] = str_replace(array("\n","\r", " "), "", $mybb->settings['cookieprefix']);

    // Versions of PHP prior to 5.2 do not support HttpOnly cookies and IE is buggy when specifying a blank domain so set the cookie manually
    $cookie = "Set-Cookie: {$mybb->settings['cookieprefix']}{$name}=".urlencode($value);

    if(
    $expires > 0)
    {
    $cookie .= "; expires=".@gmdate('D, d-M-Y H:i:s \\G\\M\\T', $expires);
    }

    if(!empty(
    $mybb->settings['cookiepath']))
    {
    $cookie .= "; path={$mybb->settings['cookiepath']}";
    }

    if(!empty(
    $mybb->settings['cookiedomain']))
    {
    $cookie .= "; domain={$mybb->settings['cookiedomain']}";
    }

    if(
    $httponly == true)
    {
    $cookie .= "; HttpOnly";
    }

    $mybb->cookies[$name] = $value;

    header($cookie, false);
    }
    Nelle impostazioni della board, c'è "Percorso dei cookie", ma settandolo a ./ Non cambia nulla.. Devo settarlo a ../ ? :S

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Hai provato con solo "/"?

  7. #7
    Guest

    Predefinito

    Ora va, grazie :)

  8. #8
    Guest

    Predefinito

    Per completezza: non modificare la funzione, bensì modifica il valore nel Pannello Amministrazione in MyBB.


Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •