Aunque la navegación dentro de un mismo documento web es algo que lleva mucho tiempo funcionando dentro de las tecnologías web, a día de hoy, a vuelto a estar de moda gracias a los themes que aprovechan la navegación vertical sin cambio de URL. ¿Cómo funciona esta forma de navegar? Creo que todos conocéis la siguiente forma:
Y llegó septiembre, bueno realmente mañana llega, pero esta semana será la vuelta de muchos (la mía ya fue la anterior) a la rutina y al día a día. La próxima gran parada será Navidades pero mientras tanto, para animaros nada mejor que leer noticias de interés sobre tecnologías libres:
Aunque soy profesional, fanático y usuario WordPress desde hace mucho en su día lo fui de Drupal y también hay que conocerlo para poder hablar con juicio, nada mejor que saber instalarlo para empezar a probarlo: Cómo instalar Drupal en Ubuntu 14.04 – Ubunlog El email marketing es importante (en el mundo del marketing online de hecho es quizás el método con más índice de conversión) y nada mejor que tener unas buenas plantillas para poder conseguir un aspecto genial en diferentes dispositivos: Plantillas para emails transaccionales en HTML – Kabytes Porque se puede hacer mucho con muy poco (en el caso de Linux) es increíble lo que puede llegar a “caber” en sólo 300MB de distribución:Porteus: impresionante distribución Linux portable (-300 mb) – Desde Linux
Cuando desarrollo plugins y themes para WordPress en CODECTION siempre procuro mirar por la seguridad, “sanitizando” variables tanto para evitar ataques vía inyección SQL como para evitar ataques XSS. Es muy frecuente, que si recibes peticiones y luego las devuelves por pantalla, las variables que manejes, si las maneja el usuario de alguna manera, puedan terminar siendo el origen de una ataque XSS.
Algo tan sencillo como pasar una etiqueta script o iframe en un sitio conveniente y además de un ataque XSS, eres una fuente de phising para el resto de la red. Por fortuna, WordPress facilita mucho la vida al desarrollador al respecto y para evitar este tipo de ataques nos ofrece una función que además es extensible en su funcionamiento vía parámetros.
La función en cuestión es wp_kses() y aunque es similar a strip_tags(), una función nativa de PHP, suele recomendarse para cuestiones de seguridad.
¿Para qué usamos wp_kses?
Básicamente deciros que sirve para limpiar una cadena de elementos HTML indeseados (imaginad otros usos que no sea el de seguridad, se me viene a la cabeza un uso de “limpieza” de una cadena proveniente de Microsft Word o LibreOffice Write).
Tiene esta forma:
wp_kses($string, $allowed_html, $allowed_protocols);
Y los parámetros que recibe indican exactamente:
La función devolverá el código HTML totalmente limpiado.
El segundo parámetro es interesante, porque podemos definir también qué atributos pasarán de cada etiqueta, un ejemplo curioso:
array( 'a' => array( 'href' => array(), 'title' => array() ), 'br' => array(), 'em' => array(), 'strong' => array(), );
Ejemplo
El ejemplo es original de Simon Wheatly. Tenemos de entrada:
Wisi <a href=”#” style=”color: red;”>defui nunc</a> dignissim <strong class=”weird”>transverbero ideo vel</strong> utinam blandit, iaceo meus epulae enim amet nibh sed brevitas. Pala consequat <script type=”text/javascript” src=”http://example.com/certainly/do/not/want/this.js”></script> capio sino regula typicus <small>luptatum</small> olim ullamcorper uxor in verto.
Vamos a dejar sólo:
El código sería este:
$entrada = 'Wisi <a href="#" style="color: red;">defui nunc</a> dignissim <strong class="weird">transverbero ideo vel</strong> utinam blandit, iaceo meus epulae enim amet nibh sed brevitas. Pala consequat <script type="text/javascript" src="http://example.com/certainly/do/not/want/this.js"></script> capio sino regula typicus <small>luptatum</small> olim ullamcorper uxor in verto.'; $etiquetas_permitidas = array( 'a' => array( 'href' => array(), 'title' => array(), 'target' => array() ), 'em' => array(), 'strong' => array(), ); $salida= wp_kses( $entrada, $etiquetas_permitidas ); echo $salida;
Metidos más que de lleno en el verano y con unas temperaturas cada vez más altas llega este resumen semanal de actividad en la blogosfera linuxera y del software libre, principalmente en español aunque los que me seguís ya sabréis que algún enlace en inglés puede caer. Estamos ya a lunes, en esta ocasión no he sido tan puntual como suelo ser todos los domingos pero es parte del verano que los fines de semana, lo sean más aún. Sin más vueltas, los enlaces:
Cuando nació JavaScript nadie pensó (o quizás sí, quién sabe si alguien fue realmente visionario) que llegara a convertirse en un lenguaje del lado del servidor, y a día de hoy lo es:¿Cómo funciona Node.js? – Genbeta Dev
Siempre que manejamos PHP, existe la problemática de mezclar la vista y funcionalidad. Este problema se da a varios niveles y es más complejo y da más quebraderos de cabeza cuanto más se enrevesan código y funcionalidad, el caso típico es cuando guardamos parte de la vista en una cadena y la devolvemos o la imprimimos. Al meter la vista dentro de la cadena, el código se vuelve poco legible y además hay ocasiones en las que este métodos llega a ser inoperable.
Cuando trabajamos con JavaScript, en ocasiones imitamos el comportamiento de la etiqueta <a href=””> de anchor, de HTML, con un location.href = url. Sin embargo, cuando queremos que el enlace destino se abra en una pantalla aparte, haciendo uso de la expresión:
<a href="URL" target="_blank">el texto del enlace</a>
No podemos usar ese método, sino este que muestro a continuación:
Es bien posible que en más de una ocasión hayáis tenido que colocar imágenes una detrás de otra formando filas y columnas. Algo como lo que muestro a continuación:
¿Cuál es el problema? Si lo hacéis a mano directamente con HTML y CSS sin usar una galería o un framework que te la cree correctamente, os habréis peleado para dejarlas perfectamente alineadas.
Hace unos instantes, navegando por la red he topado con la web personal de Manuel Gonzalez, un amante del diseño web y de Linux. Mi sorpresa ha sido mayúscula cuando al acceder al home me encuentro en portada una entrada sobre su reciente proyecto de cómo generar el logo de Ubuntu en CSS.
Ciertamente, y si alguien opina lo contrario que me corrija, no le veo gran utilidad. Lo que me ha llamado la atención es la calidad del resultado, lo que se aprende al realizar algo así, y sobre todo, el seguir avanzando y demostrar lo que se puede hacer con un poquito de HTML y una buena hoja de estilos. Es por ello que quería compartirlo con mis lectores.
Podéis entrar a los fuentes desde GitHub y la descarga directa del comprimido que contiene el ejemplo aquí.