Niente lo impedisce. Ottieni l'ID di sessione, puoi prendere parte alla sessione.
Nel solito caso di cookie questo non è un rischio di per sé. L'attaccante non dovrebbe essere in grado di leggere cookie di sessione di un utente a meno che:
hanno ottenuto man-in-the-middle capacità, nel qual caso hai problemi molto peggio solo ID di sessione;
hai lasciato un buco di cross-site-scripting, nel qual caso hai problemi molto peggiori rispetto agli ID di sessione;
sei vulnerabile agli attacchi DNS-rebinding/cross-domain-cooking, nel qual caso dovresti risolverlo consentendo solo le note note Host:
richieste.
(Mentre si può provare le sessioni di legatura in indirizzi IP, questo rischia di rompere le sessioni valide a causa, ad esempio, i proxy round-robin. IP può essere utilizzato come parte di una strategia più ampia per il rilevamento di attività sospette, ma sul pubblico Internet non è una buona idea richiedere sempre che ogni richiesta in una sessione provenga dallo stesso IP.)
Sfortunatamente in Servlet vi è un altro caso, ad eccezione dei cookie: parametri jsessionid=
. Dal momento che compaiono nell'URL stesso, questo li rende molto più dispendiosi (ad es. Tramite referrer e link incollati) più. E questo è lontano dall'unico problema pratico con gli ID di sessione dei parametri. Scombussolano la navigazione e distruggono SEO.
A mio parere jsessionid=
Gli URL sono uno dei peggiori errori iniziali di Servlet, una strategia di fallback dei cookie screditata dal passato che non dovrebbe essere utilizzata per nulla. Ma certamente non dovrebbero essere autorizzati a concedere l'accesso a qualsiasi dato privilegiato; considerare l'utilizzo dell'autenticazione di base HTTP invece se è necessario un meccanismo di fallback per i browser che non supportano i cookie.
In Servlet 3.0 è possibile disabilitare facilmente gli indirizzi jsessionid=
utilizzando <session-config>
nello web.xml
; sfortunatamente nelle versioni precedenti ti viene lasciato a bocca aperta con i filtri se vuoi disabilitare correttamente la funzione.
+1 per la sessione-config in servlet 3.0 – Bozho