Seguridad Para Tu Tema WordPress

Y aquí va otro capitulazo de cómo crear un tema en WordPress. En los anteriores capítulos ya se han calentado motores y en este verás temitas sobre la seguridad y el saneamiento de datos. Very important!

Seguridad en Temas WordPress

¿Qué Por Qué Es Importante La Seguridad En Un Tema de WordPress?

P’a matarte! la seguridad es importante en cualquier cosa que tenga que ver con el desarrollo web, en primer lugar, y hay que tener en cuenta que un Tema de WordPress lidia con muchos tipos de datos diferente y el origen de estos aún más diferente si cabe.

En la Biblia de WordPress hay una cita que reza:

Los datos no fiables provienen de muchas fuentes diferentes (usuarios, sitios de terceros, tu propia base de datos!, …) y todos estos necesitan ser validados tanto en su entrada como en su salida.

Lo sé, lo sé (mi propia base de datos! ya no te puedes fiar ni de tu abuela…), por esta razón debes asumir que cualquier dato que venga o vaya dentro de tu tema WordPress será un dato no fiable, inseguro, y por ello, habrá que validarlo y sanearlo acorde a su naturaleza y cometido. Esto evitará que te hagan alguna gamberrada o salvajada como inyecciones SQL, o de JavaScript, problemas de Cross-Site Scripting (XSS) y muchas burradas más.

WordPress es muy listo (y viejo) y por ello provee una serie de funciones “mágicas” para el saneamiento y validación de datos. Estás funciones ayudan a:

  • Convertir caracteres especiales como las comillas simples y dobles, el símbolo de unión, los signos de mayor y menor que, etc. en sus equivalentes codificados (", <, &, etc.) dado que pueden ser conflictivos al ser procesados por algunos sistemas.
  • Corroborar que los datos que se están tratando son datos seguros o coherentes (por ejemplo, que un texto no contenga código HTML o que sea un email o un link).

Aquí voy a tratar el primer punto en su mayoría ya que el segundo tiene que ver con temas relacionados con la introducción de datos por parte del usuario, como las configuraciones del tema WordPress, por ejemplo.

Saneamiento De Datos De salida

Las funciones principales que más se usaran en esta parte serán esc_attr() y esc_attr_e(). Tranquilo porque hay muchas más pero vamos a ir poco a poco.

Estás dos funciones de WordPress se dedican a codificar caracteres especiales como los que te he comentado antes. Son útiles a la hora de querer imprimir texto que vaya a estar contenido en código HTML por ejemplo (en su mayoría dentro de atributos HTML). La diferencia de esc_attr() de su hermana con una _e al final es que esta última imprime el código en pantalla (como cuando ejecutamos un echo) y la anterior devuelve un string para que lo manipulemos en PHP.

Aquí va una ejemplo simplón!

<a href="<?php the_permalink(); ?>" title="<?php echo esc_attr('Curioso pero "cierto"'); ?>"><?php the_title(); ?></a>  

Espero que no te resulte muy complejo entenderlo, pero básicamente esto lo que va a hacer es imprimir en pantalla un link con el título de la entrada como texto y con Curioso pero “cierto” como atributo de título (que es lo que aparece cuando posas unos segundos el ratón sobre el link). Lo traicionero aquí son las comillas dobles que tiene la palabra cierto las cuales al pasar por la función de esc_attr() se van a convertir en dos bonitos " en nuestro código HTML (que en pantalla se verán como comillas dobles normales) evitando así que tu bonito Tema WordPress pete por algún lado.

Tranquilo porque vamos a hacer más uso de todas estas funciones a lo largo de las lecciones.

Si quieres saber más acerca de las funciones de validación y saneamiento para WordPress puedes echar un ojo a este artículo sobre validación y Saneamiento de datos en WordPress.

Considera esto una primera toma de contacto en seguridad para WordPress.

Índice del Tutorial de Desarrollo de Temas WordPress

¿Preparado para dar tu primeros pasos en la creación de temas WordPress? Léelo desde el principio y empieza a desarrollar algo maravilloso!

  1. Introducción Al Desarrollo De Temas WordPress
  2. Desarrollando El Conocimiento De Temas
  3. Herramientas Para El Desarrollo De Temas
  4. Creando Una Estructura HTML De Un Tema
  5. Plantillas Y Estructura De Carpetas
  6. Estableciendo Las Funciones De Tu Tema
  7. Seguridad Para Tu Tema WordPress
  8. La Plantilla Cabecera
  9. La Plantilla Inicio
  10. Las Plantillas Entrada, Adjunto Y 404
  11. La Plantilla Comentarios
  12. Las Plantillas Búsqueda Y Página
  13. La Plantilla Archivo
  14. Las Plantillas Sidebar Y Pie
  15. Resetear-Reconstruir El CSS Del Tema Y Definir Tus Diseños
  16. Fondo Y Cabecera Personalizados
  17. Publicando Tu Tema WordPress

Es posible que alguno de los enlaces no funcione debido a que el artículo aún no haya sido escrito. No pares de visitar esta página para enterarte de sus actualizaciones.

Nota: Tanto este como los demás artículos del tutorial se han elaborado con la referencia de: The ThemeShaper WordPress Theme Tutorial: 2nd Edition propiedad de AUTOMATTIC.