Includere l'agente utente nella sessione fornisce una protezione rudimentale contro il dirottamento di sessione. Ciò significa che se l'utente malintenzionato ha in qualche modo accesso al cookie di sessione, non può semplicemente utilizzare il cookie in un browser casuale ma deve utilizzare lo stesso browser, versione, sovversione ecc. Come l'utente originale - o almeno sapere qual è il valore originale dell'utente-agente era e fare il proprio browser utilizzare questo.
Se l'ID di sessione viene rubato sniffando il traffico (non protetto), allora l'user-agent è facilmente disponibile anche all'interno dei dati sniffati in modo che possa essere perfettamente simulato. Se il cookie di sessione viene invece rubato da XSS o simile (cioè il cookie non è stato impostato su httponly) l'utente-agente esatto non è immediatamente noto, ma può essere recuperato anche con alcuni trucchi (vedi commento da @ multithr3at3d su questa risposta).
Pertanto, incluso l'user-agent nel cookie di sessione non fornirà un'ulteriore protezione aggiuntiva se il tuo sito è solo HTTPS (o almeno il cookie, cioè ha il flag secure
) e il cookie non può essere letto da XSS (cioè httponly
flag), che sono entrambe le cose che dovresti fare comunque.