Archive for the ‘Uncategorized’ Category

h1

Problemas de encoding con HTML

2 noviembre 2009

Cuando trabajo con HTML normalmente los caracteres extraños como los tildes, normalmente los codifico según la tabla ascii para las entidades HTML, en mi opinión creo que es lo más apropiado. De esta forma los caracteres especiales se los entiende el navegador. La elección de la entidad depende un poco del juego de caracteres usado, por ejemplo iso-8859-1, utf-8, etc.

De todas formas hoy me he encontrado con un problema, en OpenCms, al usar la exportación a estático, los elementos dinámicos, me los exporta tal cual están escritos, que es como debe de ser, pero claro, eso incluye los caracteres extraños como los tildes. Como da problemas para evitar que en vez de salir los acentos salga código extraño, lo que hago es meter la siguiente etiqueta y así ya los navegadores me reconocen dichos caracteres:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
Anuncios
h1

Válvulas de Tomcat

2 noviembre 2009

¿Qué es una válvula del tomcat?

Las válvulas del tomcat son una técnología introducida a partir de Tomcat 4 que permite asociar una instacia de una clase Java al un contenedor Catalina.

Esta configuración permite que la clase asociada actue como un pre-procesador de las peticiones. Estas clases se llaman válvulas, y deben implementar la intefaz org.apache.catalina.Valve interface o extender la clase org.apache.catalina.valves.ValveBase. Las válvulas son propias de Tomcat y no pueden ser usadas en otros contenedores de servlet. Las válvulas disponibles son:
– Access Log
– Remote Address Filter
– Remote Host Filter
– Request Dumper
– Single Sign On
– Form Authenticator

Access Log Valve

La primera válvula por defecto del tomcat es Access Log Valve, que está implementada por la clase org.apache.catalina.valves.AccessLogValve. Crea ficheros de log para rastrear el acceso a la información de los clientes.

Alguna de la infomación que rastrea son clicks, actividad de la sesión del usuario, información de la autenticación del usuario entre otras. Esta válvula se puede asociar a un engine, host o context container del Tomcat.

Ejemplo de uso :

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common"/>

Este código indica que los logs se guardaran en el directorio /logs, con el prefijo “localhost_access_log.”, y con el sufijo “.txt”.

Remote Address Filter

El Remote Address filter lo implementa la clase org.apache.catalina.valves.RemoteAddrValve, permite comparar direcciones IP de los clientes que realizan la petición con una o varias expresiones regulares para prohibir o permitir el acceso. Esta válvula se puede asociar al Engine, Host, o Context container.

Ejemplo de uso:

<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="127.*"/>
 

Esta sentencia prohibe el acceso a todos los clientes cuya IP empiecen por 127.

Remote Host Filter

El Remote Host filter está implementado por org.apache.catalina.valves.RemoteHostValve es muy parecido al RemoteAddrValve, con la diferencia que te permite comparar al nombre del host en vez de la IP. Se puede asociar al Engine, Host, o Context container.

Ejemplo de uso:

<Valve className="org.apache.catalina.valves.RemoteHostValve" deny="virtuas*"/>

Con esta sentencia prohibimos el acceso a todos los host con que incluyan en su nombre virtuas.

Request Dumper Valve

ElRequest Dumper valve lo implenta la clase org.apache.catalina.valves.RequestDumperValve es una herramienta de depuración que escribe en el log el detalle de cada petición realizada. Se puede asociar al Engine, Host, o Context container.

Ejemplo de uso:

<Valve className="org.apache.catalina.valves.RequestDumperValve"/>

Si accedemos a cualquier aplicación en localhost:8080 y accedemos al log, veremos unas cuantas entradas realizadas por el RequestDumperValve.

Single Sing On

Esta válvula se utiliza cuando queremos que los usuarios puedan identificarse en cualquier aplicacion en nuestro virtual host, y que su identidad sea reconocida por cualquier aplicación que esté en ese host.

Ejemplo de uso:

<Valve className="org.apache.catalina.authenticator.SingleSignOn" />

Form Authenticator Valve

Se añade automáticamente al Context cuando este se configura para usar autenticación mediante FORM.