Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Permitir incrustar servicios externos (embed) en el contenido de un post en WordPress Multisite: la capacidad unfiltered_html y los filtros kses

Imago voragine.net

Por seguridad WordPress Multisite desactiva la capacidad de incluir determinado código HTML para usuarios que no sean superadministradores (administradores de la red de sitios). Es una medida lógica para evitar que un usuario incluya código malicioso a través de la caja de contenido de un post. Sin embargo en redes de sitios controladas, con una comunidad de usuarios de confianza, puede tener sentido activar esta capacidad.

Lo que hace WordPress Multisite añadir los filtros KSES, que normalmente solo se aplican a colaboradores y autores, a los usuarios editores y administradores. También desactiva la capacidad unfiltered_html para editores y administradores.

El plugin Unfiltered MU elimina esta limitación. Aunque hace más de dos años que no se actualiza, estar desarrollado por Automattic, la empresa que está detrás del desarrollo de WordPress, es una garantía de calidad y seguridad. Además son unas 20 líneas de código, no más, lo cual limita la posibilidad de bugs y agujeros de seguridad. Es una buena opción.

Para quien prefiera prescindir de plugin se puede incluir la activación en el theme que se esté usando. El código a continuación realiza la tarea: es el mismo código del plugin pero asociado a los hooks de activación y desactivación de un theme.

El código utiliza el hook after_switch_theme para añadir la capacidad unfiltered_html a administradores y editores: las acciones asociadas a este hook se ejecutan justo después de activar el theme. Utiliza el hook switch_theme para eliminar la capacidad, ya que las acciones asociadas a este hook se ejecutan justo después de desactivar el theme. Así limitamos la funcionalidad a un theme, como medida de seguridad.

Dejar un comentario

No hay comentarios en esta entrada.
*
*

 

No hay trackbacks