viernes, 31 de agosto de 2012

Deshabilitar el parámetro jsessionid

Java
En las aplicaciones web java cuando un usuario accede por primera vez a una página de la aplicación se le añade a los enlaces que se generan el parámetro jsessionid para que en caso de que se tengan las cookies desactivadas poder mantener y determinar la sesión del usuario. Esto puede ser un problema ya que los rastreadores de los buscadores indexarán las páginas con ese parámetro añadido a la URL.

Para desactivar esta reescritura de los enlaces no hay más que añadir en el archivo web.xml de la aplicación lo siguiente:

<session-config>
    <tracking-mode>COOKIE</tracking-mode>
</session-config>

La cabecera del web.xml debe ser la siguiente, es decir, se necesita la versión 3.0 de servlets API soportada por Tomcat 7.0 entre otros servidores:

<web-app version="3.0"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

Referencia:
http://andrius.miasnikovas.lt/2010/07/whats-new-in-tomcat-7/
http://stackoverflow.com/questions/962729/is-it-possible-to-disable-jsessionid-in-tomcat-servlet