2009-09-04 16 views
10

Ho impostato manualmente un solo cookie sul mio sito di social network, ma faccio molto affidamento sulle sessioni di php. Mi chiedo se le sessioni impostino i cookie dietro le quinte?Le sessioni PHP impostano i cookie?

Stavo solo leggendo su HttpOnly-cookies e sto solo cercando di capire se posso usarli.

risposta

20

Le sessioni PHP possono utilizzare i cookie in base alla modalità di configurazione. Date un'occhiata a queste impostazioni:

  • session.use_cookies (booleana): specifica se il modulo userà i cookie per memorizzare l'id di sessione sul lato client. Il valore predefinito è 1 (abilitato).
  • session.use_only_cookies (booleano): specifica se il modulo utilizzerà solo i cookie per memorizzare l'ID di sessione sul lato client. L'abilitazione di questa impostazione impedisce agli attacchi di passare id di sessione negli URL. Questa impostazione è stata aggiunta in PHP 4.3.0. Il valore predefinito è 1 (abilitato) da PHP 5.3.0.

Se si disabilitano i cookie di sessione, viene utilizzato un parametro GET.

+0

Ho pensato che questo è quello che è successo ma ora lo so, grazie. Il mio sistema utilizza il metodo cookie per archiviare un id di sessione. Questo cookie è sicuro? – JasonDavis

+1

Cosa intendi con "sicuro"? Il metodo cookie è più sicuro rispetto al passaggio degli ID di sessione negli URL. Tuttavia, questo non significa che siano sicuri al 100%. Ad esempio, se il tuo sito web è vulnerabile a XSS, potrebbe essere possibile per gli aggressori rubare i cookie di sessione. –

-4

Le sessioni PHP utilizzano HTTP per ottenere e impostare l'ID di sessione e il filesystem per memorizzare le sessioni: nessun cookie viene utilizzato in alcun punto a meno che non vengano effettivamente creati utilizzando setcookie();

Jamie

+1

sbagliato. Puoi comunque configurare PHP in questo modo. – gnud

1

Sì. Le sessioni PHP si basano su un cookie contenente una chiave di sessione. I dati della sessione vengono memorizzati solo sul server, ma a ogni sessione viene assegnato un ID univoco e tale ID viene salvato in un cookie.

Quale relazione si vede tra un cookie di sessione e un set di cookie tradizionale come HttpOnly?

Inoltre: tenere presente che HttpOnly non è supportato su tutti i browser.