0Pricing
PHP Academy · Lezione

Sicurezza dei cookie: flag HttpOnly e Secure

Proteggere i cookie con gli attributi HttpOnly, Secure e SameSite.

Sicurezza dei cookie: flag HttpOnly e Secure è una lezione PHP Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento PHP Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso PHP Academy include 4 lezioni in totale.

Il flag HttpOnly

Quando un cookie ha il flag HttpOnly, JavaScript non può accedervi tramite document.cookie, impedendo il furto della sessione basato su XSS.

Impostazione di HttpOnly e Secure

Utilizzare la sintassi con array di opzioni (PHP 7.3+) per ottenere codice chiaro e leggibile.

<?php
setcookie("session_id", $id, [
    "expires"  => time() + 3600,
    "path"     => "/",
    "secure"   => true,
    "httponly" => true,
    "samesite" => "Strict",
]);

Il flag Secure

Un cookie Secure viene inviato solo tramite HTTPS. Sulle connessioni HTTP il browser lo omette, impedendone l'intercettazione tramite HTTP non cifrato.

L'attributo SameSite

SameSite controlla quando i cookie vengono inviati con richieste cross-site:

  • Strict — solo richieste same-site
  • Lax — richieste same-site e navigazioni di primo livello
  • None — richieste cross-site (richiede Secure)

SameSite e CSRF

Impostare SameSite su Strict o Lax riduce il rischio di CSRF, perché il cookie di sessione non viene inviato con richieste POST cross-site contraffatte.

Impostazioni dei cookie di sessione in php.ini

Configurare la sicurezza predefinita dei cookie di sessione durante l'esecuzione:

<?php
ini_set("session.cookie_httponly", "1");
ini_set("session.cookie_secure",   "1");
ini_set("session.cookie_samesite", "Lax");
session_start();

Prefissi dei cookie

I browser rispettano i prefissi dei nomi dei cookie:

  • __Secure- — il cookie deve avere il flag Secure
  • __Host- — deve avere Secure, Path=/ e nessun attributo Domain

Esempio di prefisso per un cookie

Utilizzare il prefisso __Host- per associare un cookie all'host esatto.

<?php
setcookie("__Host-session", $token, [
    "secure"   => true,
    "httponly" => true,
    "samesite" => "Strict",
    "path"     => "/",
]);

Verifica dei flag in DevTools

In DevTools del browser → Application → Cookies, verificare che: HttpOnly sia selezionato, Secure sia selezionato e SameSite mostri Strict o Lax.

Senza HttpOnly

Uno script dannoso iniettato tramite XSS può eseguire document.cookie, leggere l'ID di sessione e inviarlo a un attaccante, che può così prendere il controllo dell'account.

Senza Secure

In un sito misto HTTP/HTTPS, il cookie di sessione viene inviato in chiaro tramite HTTP. Un intercettatore sulla rete può rubarlo.

Riepilogo

Impostare sempre HttpOnly e Secure sui cookie di sessione e di autenticazione. Aggiungere SameSite=Strict o Lax. Utilizzare la sintassi con array di opzioni di setcookie().

Verifica rapida

Quale flag impedisce a JavaScript di leggere un cookie?

Domande Frequenti

La lezione «Sicurezza dei cookie: flag HttpOnly e Secure» è gratuita?

Sì — il testo completo di «Sicurezza dei cookie: flag HttpOnly e Secure» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso PHP Academy, passa a CoddyKit PRO. Il corso PHP Academy include 4 lezioni in totale.

Cosa imparerò in «Sicurezza dei cookie: flag HttpOnly e Secure»?

Proteggere i cookie con gli attributi HttpOnly, Secure e SameSite. Eserciti PHP Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare PHP Academy?

Non è richiesta alcuna esperienza precedente. PHP Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Sicurezza dei cookie: flag HttpOnly e Secure»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione PHP Academy?

Sì. Ogni lezione PHP Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Avvio e uso delle sessioni
  2. Best practice per la sicurezza delle sessioni
  3. Impostazione e lettura dei cookie
  4. Sicurezza dei cookie: flag HttpOnly e Secure
← Torna a PHP Academy