¡Salta! tm
Feed Estás viendo el archivo de la etiqueta: XHTML
HTML Purifier: limpia, brilla y da esplendor

Logotipo de HTML Purifier Como sigo a diario Planeta código, me encuentro estupendas bitácoras de programadores, como, por ejemplo, PHPBSD.net, con interesantes entradas como "HTML Purifier, evita los ataques XSS y valida tu HTML".

En dicha entrada se habla sobre HTML Purifier, una completísima librería escrita en PHP, que te permite filtrar HTML, evitando ataques XSS incluso "reparando" HTML de modo que quede "estricto", permitiendo o no determinadas etiquetas, y, muchos etcéteras más.

HTML Purifier me llamó la atención porque en Gesbit hago uso de KSes para filtrar cierto HTML (el contenido de entradas y comentarios), y resulta que HTML Purifier vendría a ser el "primo de zumosol" de Kses, es decir, que, según las comparativas, HTML Purifier sale claro vencedor en casi todos los puntos que se tocan.

Además, gracias a las entradas y sitios web enlazados, me enteré de la existencia de ciertos otros "filtros para HTML" que no conocía, y que tendré que probar. Pero, en esta entrada me ciño a HTML Purifier, y, la posibilidad de usarlo en Gesbit en lugar de KSes.

HTML Purifier es una maravilla, sin duda alguna. Pero, dudo de que sea lo que Gesbit necesita, puesto que se trata de filtrar el contenido de entradas y comentarios, pero, HTML Purifier complica, en mi opinión, innecesariamente, esta tarea. ¿Cómo algo tan bueno puede no ser útil?

HTML Purifier es útil. Muy útil. Pero, para el caso de Gesbit, pareciera que se están matando moscas a cañonazos. Pondré un ejemplo. Para "permitir" el uso de ciertas etiquetas HTML, como puedan ser "object", "embed", "param", etc., HTML Purifier va tan lejos que, sencillamente, no permite estas etiquetas, de entrada, y es lo adecuado, porque estas etiquetas están "desaprobadas" por el W3C, por poner un caso.

Pero, es habitual usar este tipo de etiquetas... muchos sitios que "empotran" vídeos en nuestros sitios utilizan estas etiquetas... ¿y qué hacer entonces? Pues HTML Purifier propone personalizar sus los "filtros", crear nuevos filtros (en tiempo de diseño), como alguno que ya existe y que permite qye "valide" el código de los vídeos de Youtube.

¿Pero qué ocurre con los otros sitios web que alojan vídeos? Existe un filtro exclusivo para la etiqueta "object", pero, por ejemplo, no "soporta" la etiqueta "embed", otra vez, con buen criterio, acaso, pero, ¿qué hacer en la vida real? ¿Qué pasa si nosotros queremos permitir estas etiquetas, o hacerlo de forma discriminada, unas veces sí, otras no?

Con KSes este asunto es sencillo. Quizá demasiado, pero, aparentemente, todo va más o menos bien. ¿Qué se puede hacer en KSes? Añadir las etiquetas susomentadas a la lista de las permitidas. Y eso es todo. Se permiten las etiquetas "object", "embed", etc., si es lo que se quiere, independientemente de que estas sean "válidas", formen parte del "estándar" o no.

HTML Purifier, desde luego, es una herramienta mucho más completa, y, para algunos casos, estoy seguro de que es la ideal, por lo menos de entre las que he podido conocer. Pero, para el caso de Gesbit, creo que no lo es tanto, o que conlleva ciertas cosas a tener en cuenta que no he sido capaz de enfrentar.

Reconozco, de todos modos, que no he mirado HTML Purifier extensivamente. Es una librería compleja, que, con las pocas pruebas que he hecho, no me extrañaría estar metiendo la pata, es decir, no haber comprendido nada y estar hablando aquí por hablar, sin saber muy bien de qué estoy hablando.

Pero, la impresión que he tenido es la que he tratado de plasmar en esta entrada. HTML Purifier es una excelente herramienta, pero, un martillo también lo es para clavar clavos, pero, no para atornillar. Cada herramienta para su tarea, y creo que algo similar a KSes es realmente lo que necesito en Gesbit, por ejemplo.

KSes también tiene sus "debilidades", y, entre otras cosas, es un proyecto que lleva bastante tiempo sin dar señales de vida, quizá abandonado. Existen otros filtros para HTML que he podido descubrir partiendo de algunos de los enlaces que he puesto en esta entrada. Tendré que revisar por lo menos algunos de ellos.

Incluso tendré que volver sobre HTML Purifier, puesto que, desde luego, parece un excelente software, muy "pensado" (no me atrevo a decir muy bien diseñado) y que puede ser muy útil en un momento dado. No está mal conocer de su existencia y saber que puedes contar con él y que puede llegar a ser muy útil.

Iconos de agregadores Menéame Del.icio.us Digg Technorati Blinklist
Categorías: Software
Eclipse europa y SMC

Sigo trabajando en ello, aunque me siga pareciendo mentira, y el caso es que hoy he estado todo el día liado con SMC... y he logrado cosas que no hubiera pensado lograr... tan pronto.

Logotipo del programa Eclipse Así que estoy, se puede decir, más o menos contento con el trabajo de hoy. ¿Que qué he conseguido? Pues... entre otras cosas... estoy de lleno en el "loop" de entradas... lo que en WordPress llaman el "super loop".

Estoy implementando el asunto de forma muy similar a como se hace en WordPress, si bien no me he fijado en su código, sino por fuera, y bueno... no quiero comparar mi proyecto (nunca mejor dicho) con WordPress... ni nada que se lo parezca.

Pero mi contento no se debe sólo a lo dicho, aunque está completamente relacionado. Hoy quien me tiene especialmente contento es Eclipse Europa, o sea, probablemente el mejor "IDE" para trabajar con PHP, XHTML, CSS y JavaScript (si le enchufas Aptana) que existe ahora mismo. Eclipse Europa y olé.

Como que si todavía no lo has probado y te suena interesante no debes dejar de hacerlo, fíjate lo que te digo. De lo mejor el editor de código. Para cualquiera de los lenguajes mencionados es estupendo, para PHP es ya el no va más... o poco le falta para serlo, vamos.

¿Cómo? ¿Que muestre el "famoso loop" de SMC? Bueno... ni con mucho puedo decir que vaya a quedar de esta forma o de otra, entre otras cosas porque dependerá de la plantilla o tema en cuestión, ahí va como se ve ahora mismo en el tema "por defecto" de SMC...:

 
 <div id="content">
 
 
 
 
 
      <div id="entry-<?php EntryID() ?>" class="entry">
       <div class="entrytitle">
 
         <a title="<?php EntryTitle() ?>" href="<?php EntryPermalink() ?>"></a>
 
        <span class="entryauthor">
 
 
         </span>
       </div>
       <div class="entrycontent">
 
       </div>
      </div>
 
 
 
 
    <div id="navigator">
     <span>« </span>
     <span> »</span>
    </div>
 
 
 
    <div id="noentries">
 
    </div>
 
 
 
 </div>

Si conoces WordPress por dentro... vamos, si has visto alguna vez al menos uno de sus temas, sin duda te sonará el código anterior. Es una buena forma de conseguir, precisamente, que pueda haber distintas plantillas. Pero, ya digo... todo esto del SMC este de los co***** está tan verde aún... Veremos a ver. :P

Actualización: El código que ves más arriba, correspondiente al archivo "index.php" del tema principal de mi p*** SMC, se acabó de escribir... hace un ratín, y son ahora casi las seis de la mañana. Que conste, por si fuera menester.

Iconos de agregadores Menéame Del.icio.us Digg Technorati Blinklist
Categorías: Software