La mia domanda è molto semplice, sono necessari i flag HttpOnly o Secure se un sito web non ha una parte privata accessibile con login?
Questi flag sono utili se i cookie con cui stai lavorando contengono informazioni sensibili (come i cookie di sessione). Aiutano a proteggere i cookie da eventuali compromissioni in alcuni scenari di attacco.
Per ricapitolare:
Un cookie con flag Secure
viene inviato al server solo se la connessione è protetta (ad esempio HTTPS). Cioè, un aggressore man-in-the-middle non può catturarli intercettando una semplice connessione HTTP al tuo sito.
Un cookie contrassegnato con HttpOnly
non è accessibile agli script. Cioè, una vulnerabilità XSS sul tuo sito non consentirebbe a un utente malintenzionato di estrarre direttamente un cookie HttpOnly
tramite document.cookie
di Javascript.
Se tutti i tuoi cookie non sono sensibili (ad esempio l'impostazione di una lingua), non devi assolutamente indurire l'accesso con questi flag. Ma se non usi mai Javascript per accedere ai cookie e l'intero dominio è disponibile solo su HTTPS, è buona norma aggiungerli.
Dipende da cosa usi i cookie per.
Http rende il cookie inaccessibile da JavaScript. Questo è utile per i cookie di sessione poiché significa che un utente malintenzionato che sfrutta XSS non può rubarli. Tuttavia, nella maggior parte dei casi è necessario leggere i cookie con JS e quindi impostare l'opzione HttpOnly non è un'opzione. Quindi HttpOnly viene usato principalmente per i cookie di sessione.
Per quanto riguarda il flag di sicurezza, a meno che tu non abbia specificamente bisogno di inviare il cookie su HTTP, devi sempre impostarlo. Poiché i cookie vengono inviati su tutte le richieste al tuo dominio, anche se non sono necessarie, è facile perderle se si effettua una sola richiesta HTTP. Ad esempio, se pubblichi immagini statiche su HTTP e i tuoi cookie non sono contrassegnati come sicuri, li invierai in chiaro. Se i cookie contengono dati sensibili, è molto brutto.
Quindi, per prendere una decisione è necessario comprendere sia lo scopo di questi flag che i cookie utilizzati. Non c'è una risposta coperta.
Se il tuo sito non utilizza i cookie (come sarebbe richiesto per un sito con un login), allora non solo non hai bisogno dei flag HttpOnly o Secure, ma in realtà non puoi usali. Semplicemente non è possibile, in quanto questi flag possono essere impostati solo sui cookie.
Se utilizzi i cookie per qualcos'altro oltre agli accessi degli utenti allora sì, impostare tali flag sui tuoi cookie potrebbe potenzialmente giovare alla privacy e / o alla sicurezza degli utenti rendendo più difficile l'attacco di MITM o lo script di terze parti sul tuo sito per leggere quei valori.
Dato quanto è banale usare HttpOnly e Secure, a meno che tu non abbia una ragione specifica per cui hai bisogno che i tuoi cookie siano accessibili tramite testo in chiaro o tramite JavaScript potresti anche impostarli, se possibile.
Leggi altre domande sui tag cookies