Se si passa un token di autorizzazione tramite intestazioni http, è necessario disporre di una logica lato client per passare questo al server ogni volta che si effettua una richiesta. Uno skimmer può cercarlo nel codice lato client e può dirottare la sessione utente con lo script Java.
Ma se le stesse informazioni vengono passate tramite i cookie, è responsabilità del browser passare il cookie ogni volta che viene effettuata una richiesta (sei libero di scrivere la logica lato client). Quindi rendere un po 'difficile (ma non impossibile) identificare il meccanismo con cui viene passato il token.
Se il cookie è impostato su httponly, il dirottamento di sessione diventa quasi impossibile tramite JavaScript (alcuni lettori hanno letto queste informazioni su JavaScript ma il supporto è in aumento). E i cookie hanno una stessa politica di origine. Ma usando ancora strumenti come il violinista, un hacker determinato sarà in grado di accedere a queste informazioni.
Ma l'hacker dovrebbe essere in grado di annusare la rete per ottenere queste informazioni.
Quindi, in conclusione, un cookie è sicuramente più sicuro.
Se sei così preoccupato per la sicurezza, allora vai per i certificati SSL che quasi rimuove la minaccia della rete che annusa un'attività inutile.