Una distribución 100% libre: Trisquel GNU/Linux

trisquel

La distribución Trisquel GNU/Linux, o simplemente Trisquel, es una distribución basada en Ubuntu con la particularidad de que todo los componentes del sistema operativo son de licencia libre. Empezó como un proyecto universitario en Galicia y ha terminado siendo uno de los referentes en cuanto a distribuciones auspiciadas por la FSF.

Personalmente, de la lista de distribuciones libres de GNU/Linux según la FSF es la que más me gusta y más me llama la atención: es bonita, es usable y se muestra actual. Hay otras patrocinadas por la FSF como gNewSense, pero no atrae lo más mínimo en mi opinión. read more

Leer más » 2 Comentarios

Interpretado

Leer más » 2 Comentarios

Lo mejor de mi RSS del 1 al 7 de septiembre de 2014

Primera semana de septiembre. Queda ya menos de un mes para la WordPress Meetup Córdoba 2014 (3 y 4 de octubre) y podemos decir que ahora empieza una temporada fuerte de eventos y trabajo para los que nos dedicamos al software libre. Además de eventos y proyectos, también hay mucho contenido de interés como no podía ser de otra forma:

Si alguna vez has tenido que hacer diagramas UML para instituto, universidad o para un cliente, aquí te doy otra opción para que pruebes diferente a clásicos como DIA: Modelado UML en Linux – Desde Linux Si desarrollas algún proyecto de software libre, te interesa conocer GitHub a fondo, cómo es y cómo funciona: Empieza tu proyecto Open Source en las plataformas más conocidas. Github – Genbeta Dev De lo mejor de GNU/Linux es bash, aprende a usarlo y diviértete con algunos comandos curiosos que enseñar a tus amigos:

5 comandos curiosos de Linux para tu terminal – Ubuntizando el planeta read more

Leer más » 1 Comentario

Lo mejor de mi timeline del 31 de agosto al 6 de septiembre

Leer más » 1 Comentario

Comandos para simular instalación de programas

A la hora de instalar software en una maquina, desde la consola tenemos mucha mas información de lo que estamos instalando. Algunos paquetes tienen dependencias y hay que instalarlas también. A veces entran en conflicto con algo que ya tenemos o están obsoletas y nos da error.

Dry run (marcha en seco) es una forma de pruebas de software en los que no se utiliza el paquete o la aplicación real.

Con unos sencillos comandos de simulación podemos obtener bastante información del tipo:

– Buscar un paquete o aplicación que quiero instalar o parecido al que busco. read more

Leer más » 1 Comentario

Manjaro

manjaro

Manjaro Linux, o simplemente Manjaro, es una distribución Linux con el entorno escritorio Xfce por defecto.

Está basado en Arch Linux y sigue un modelo rolling release. Manjaro con este modelo usa tres tipos de repositorio de paquetes: los paquetes unstable que son los más recientes y a la vez los más propensos a errores, los paquetes testing son aquellos paquetes inicialmente inestables que han pasado varios días de prueba y proporcionan algo de confianza en su uso, y por último están los stable que confirman su estabilidad y seguridad. Con este modelo te aseguras tener siempre tu sistema operativo Manjaro actualizado. read more

Leer más » 1 Comentario

Escalable

Leer más » 2 Comentarios

Lo mejor de mi RSS del 25 al 31 de agosto

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 read more

Leer más » 1 Comentario

Lo mejor de mi timeline del 24 al 30 de agosto

Leer más » 1 Comentario

wp_kses() o cómo limpiar cadenas HTML en WordPress para evitar ataques XSS

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.

wp_kses-vs-strip_tags

¿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:

  • $string: cadena a filtrar
  • $allowed_html: etiquetas HTML que se permitirán y que no se limpiaran
  • $allowed_protocols: protocolos permitidos, por defecto vienen unos pocos y siempre se asegura que no va a permitirse etiquetas ni invocaciones a ficheros JavaScript

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:

  • La etiqueta ‘a’ y sus atributos ‘href’, ‘title’ y ‘target’
  • Y las etiquetas ’em’ y ‘strong’ => array()

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; read more

Leer más » 1 Comentario