tutorial proyecto net jee jdk crear application java servlets java-ee glassfish java-ee-6

java - proyecto - httpOnly Session Cookie+Servlet 3.0(por ejemplo, Glassfish v3)



java web application netbeans tutorial (2)

Esto se admite a través de un web.xml Servlet 3.0 (consulte web-common_3_0.xsd ):

<web-app> <session-config> <cookie-config> <!-- Specifies whether any session tracking cookies created by this web application will be marked as HttpOnly --> <http-only>true</http-only> </cookie-config> </session-config> </web-app>

De forma predeterminada, Glassfish v3 no establece la marca httpOnly en las cookies de sesión (cuando se crea como es habitual con request.getSession() ).

Lo sé, hay un método javax.servlet.SessionCookieConfig.setHttpOnly() , pero no estoy seguro, si esa es la mejor manera de hacerlo, y si es así, dónde sería el mejor lugar para poner esa línea.

Por cierto, por supuesto, no se puede hacer en el propio servlet (por ejemplo, en init ()):

java.lang.IllegalStateException: PWC1426: Unable to configure httpOnly session tracking cookie property for servlet context /..., because this servlet context has already been initialized

En general, preferiría usar una opción de configuración, por ejemplo, en web.xml.


También puede agregar <secure>true</secure> para aumentar la seguridad.

<session-config> <cookie-config> <http-only>true</http-only> <secure>true</secure> </cookie-config> </session-config>