Asegurando Drupal – Cuentas

A medida que Drupal se va haciendo más famoso, inevitablemente surgen interesados en hackearlo, ya sea por información, desacreditar una marca o algunas otras razones. Lo hemos visto pasar con otros proyectos como WordPress y Joomla. Las amenazas a la seguridad de un sitio web siempre van a existir, así que debemos tomar todas las precauciones necesarias para mantener nuestro sitio seguro.

La configuración de seguridad que tiene una instalación nueva de Drupal es muy floja. por lo tanto debemos dar algunos pasos adicionales para que nuestro sistema tenga una seguridad cada vez más estricta.

El primer paso para mejorar la seguridad de una instalación de Drupal es configurar permisos, roles y cuentas de usuario. En otras palabras, controlar como los usuarios crean sus cuentas y que pueden hacer con ellas.

  • Deshabilita las creaciones de cuentas de usuarios anonimos. Por defecto Drupal deja que los usuarios anónimos creen cuentas sin preguntar. Esto es una muy buena idea si estás creando un foro o un sitio donde una comunidad va a compartir contenido. Pero si estás creando un blog o un sitio web corporativo vás a necesitar un control de acceso más estricto. Deshabilita la creacián de cuentas no aprobadas en Administer > User management > User settings
  • Crea Roles de usuarios. Los roles en Drupal son nombres que se le dan a una serie de permisos que se pueden asignar a los usuarios. Los roles con los que Drupal viene por defecto son Usuario anónimo y Usuario autenticado (que inicio sesión). Evidentemente solo estos dos roles no ofrecen la suficiente granularidad  a la hora de definir permisos. Considera crear un rol Autor para el grupo de usuarios que va a insertar y editar el contenido, Moderador para los usuarios que van a administrar los comentarios y a borrar los comentarios ofensivos y un rol Administrador para los usuarios que puedan hacer modificaciones a la configuración del sitio. Puedes crear los roles en Administer > User management > Roles
  • Asigna los roles a los usuarios. Con los roles creados, edita cada una de las cuentas de los usuarios y asignales su rol. Las cuentas de los usuarios estan en Administer > User management > Users
  • Configura los permisos. Aunque no hayas creado ningún rol, asegúrate de configurar los permisos. Dirígete a Administer > User management > Access control y comienza por deseleccionar todo. Ahora vuelve y permite que los usuarios anónimos puedan ver algo o todo el contenido, pero nunca lo dejes agregar contenido o administrar tu sitio. Si planeas dejar que otras personas tengan cuentas en tu sitio, restringe los permisos a lo mínimo necesario. No asignes un permiso a menos que sepas que un rol lo necesita.

Con estos pasos comenzamos por definir las politicas de creación de cuentas y controlamos el acceso al contenido en los casos que lo consideramos necesario. Luego de haber ajustado la configuración de las cuentas y los permisos, vamos a restringir el contenido que ven nuestros usuarios (próximamente).

Evitando pensar demasiado

Si eres de los que se pasan la mayor parte del día dentro de tu cabeza dándole mil vueltas a todo, puedes pensar que estás solo. No lo estás.

Pensar demasiado es parte natural de la mayoria de nosotros ante determinadas situaciones, aunque existen realmente pocas ventajas de pensar demasiado las cosas. Pensar lógicamente (sin emociones) sobre tomar una acción tiene sus méritos, hay una diferencia muy grande entre pensar sobre algo lo suficiente y pensar sobre algo hasta que se convierta en motivo de parálisis por análisis.

Usualmente pensamos demasiado cuando debemos tomar una decisión importante y está típicamente rodeado de situaciones estresantes. No solamente está asociado con tomar una decision, también pueden influír personas que nos generen preocupación o desconfianza. Es lo que no nos deja dormir por las noches y hace que percibamos una falta de control sobre algún aspecto en nuestra vida. Cuando sentimos que no tenemos el control, nos sentimos desamparados. Pensar demasiado usualmente es el resultado directo. Cuando pensamos demasiado sobre algo embarcamos nuestra mente en cosas sin sentido y nos damos cuenta de que hemos gastado suficiente tiempo pensando disparates como para haber resuelto desde el principio.

Si piensas demasiado en los problemas o te sientes frenado por temor al fracaso, debes cambiar de canal ahora mismo! Aquí hay algunas cosas que puedes hacer para cambiar tu proceso de pensamiento:

  1. Evita situaciones y personas que te puedan hacer pensar demasiado. Esto se puede basar en la historia. Puedes determinar que situaciones te han mantenido despierto algunas noches. Puedes basarte en lo que algo te hace sentir antes de participar. Esto requiere que te puedas aconsejar a ti mismo, evita lugares, personas y cosas que te pongan en ese estado mental.
  2. Habla contigo mismo. En vez de seguir hablando contigo como lo has estado haciendo, eleva un poco tu conversación contigo mismo. Cuando tengas algo que no te puedes sacar de la cabeza, mantente atento a tu proceso de pensamiento … te puedes sorprender de lo rápido que surgen los tópicos. También te puede sorprender que solo pensamos demasiado cuando nuestros pensamientos son negativos, lo que significa que vas a seguir pensando negativamente para refugiarte en tus pensamientos. Cada vez que te encuentres pensando negativamente, reflexiona sobre porque eso no va a ayudar a la situación actual ni futura y trata de cambiarlo por algo positivo que si vá ayudar. Trata de hacer esto siempre.
  3. Involúcrate en un proyecto que tenga las mismas tendecias que tus metas. Encuentra a alguien que sea feliz y las posibilidades son que van a encontrar un proyecto que se alínea con sus valores fundamentales. Si eres capaz de enfocar tu energía en algo que te importa en vez de enfrascarte en los pensamientos del abandono, puedes encontrarte pensando menos y menos en lo que quieres evitar.
  4. Piensa a largo plazo. Esto puede ayudar mucho, pero requiere un poco de experiencia. Tu sabes que cualquier cosa eventualmente vá a pasar, siempre pasa lo que tiene que pasar, asi que usualmente trato de hacerme esta pregunta. Esto va a importar en 6 meses, en un año? Si la respuesta es no, o quizás, seguro que no es una razón para pensarlo hasta la muerte. De esta forma puedes analizar como esta situación te ha cambiado? que has aprendido de esto? o, como podrías afrontar una situación similar en el futuro.

Pensar demasiado afecta directamente la productividad y debemos evitarlo a toda costa. Formar hábitos positivos y re-enforzarlos puede marcar una diferencia en nuestra actitud frente a desiciones y problemas, estas son algunas ideas para comenzar a hacerlo.

Envolviendo el código – jQuery Wrap()

Hace unos días tuve un reto con un layout en html, quería meter un div dentro de otro para posicionar unos elementos en forma de grid, lo cual es totalmente posible, no podía modificar la estructura html de ese grid, pero si podía insertar código javascript.

Lo primero que pensé fué usar el metodo clone de jquery, crear el wrapper e insertar el objeto clonado ahí.

Pero investigué un poco más y conocí el wrap que se encarga de hacer justamente lo que necesitaba.

Otras idéas – Pie de foto

Tienes una colección de imágenes en en el html, todas tienen su debida descripción en el atributo alt.

Primero envuelves cada una de las imágenes en un div que vas a usar como el contenedor de la imagen y el pie de foto.

Puedes verlo funcionando en este ejemplo (ver código  fuente)

CSS3 rgba, color y opacidad

La declaración rgba de CSS3 aplica el color igual que el formato standard RGB pero le añade algo especial,  esa a es por el canal alpha lo que significa que podemos definir el nivel de transparencia de un objeto.

Un objeto con transparencia de 1.0 sera totalmente opaco (visible) un objeto con transparencia de 0.0 será totalmente invisible. Cualquier valor intermedio determinará que tan transparente será un objeto sobre su fondo. (más…)

Imágenes para los posts en WordPress 2.9

Hace un par de días estamos estrenando WordPress 2.9 y es muy probable que si has oído algo sobre los nuevos features  que trae sabrás que a los posts se le pueden asignar imágenes para usarlas como thumbnail. Estas imágenes que podemos asignarles a los posts no son solo thumbnails si no que pueden ser de cualquiera de los tamaños comunes que usa WordPress.

Voy a enseñar como usar estas imágenes en los templates, teniendo en cuenta que estas imágenes son una representación del post. La imagen esta directamente relacionada al post.

Como puedo asignarle imágenes a los posts?

Lo primero es que el Theme debe soportar este feature, de otra forma no lo vas a poder usar.

Para usar este feature tienes que estar en la pantalla de edicion de un post, en esta pantalla hay una cajita nueva que dice post thumbnail o page thumbnail para las paginas con un link para asignar la miniatura. al hace click en este link puede usar la herramienta de subir imagenes para asiganrle la imagen a tu post.

Aunque la cajita tiene como titulo post thumbnails aqui se pueden usar cualquiera de los tamaños de imagen por default que trae WordPress

  • Thumbnail
  • Medium
  • Large
  • Full (La imagen que subiste)

Como añado soporte para el feature de las imágenes de los post?

Para hacer este feature disponible a los usuarios del theme solo hay que agregarle esta linea a nuestro archivo functions.php

[snippet=25281]

Naturalmente esto no muestra nada en el theme, para eso debemos llamar la imagen en el loop:

[snippet=25282]

O en alguna seccion especial podemos elegir y solo mostrar las imagenes de tamaño mediano:

[snippet=25283]

Con estas pocas líneas podemos añadirle una funcionalidad bien avanzada a nuestros templates.

Mysql, Tunnels, SSH…

editado el 21 de marzo del 2010 con ideas de una respuesta en este foro.

Si tenemos acceso a ssh podemos conectarnos a una base de datos remota usando:

ssh -L8888:mydbhost.mydomain.com:3306 myshelluser@mydomain.com

Luego te conectas a su servidor así:

mysql -u mydbuser -p -h 127.0.0.1 -P 8888

Debes usar 127.0.0.1 en vez de localhost porque si no el servidor va a rechazarte la conexión.

Lo que muestra este post es como conectarse a una base de datos remota usando Windows, Putty, Mysql GUI Tools y Dreamhost.

El problema es que quisiera usar mysql query browser para conectarme a mi base de datos en Dremahost, pero el query browser solo acepta conecciones locales.

La solucion es hacer un tunel (SSH Tunneling) desde nuestra maquina hacia el servidor en Dreamhost y conectar el query browser a traves de ese tunel.

Como se hace

Despues de haber instalado Putty, introducimos los datos del servidor para iniciar una sesión por SSH a nuestro usando el puerto común :22

screen

Antes de iniciar sesión vamos a hacer el tunel, para esto hay que seleccionar en la columna de la izquierda un PUTTY, ssh > tunnels y vamos a asignar un puerto local (9999) al servidor de MySQL en Dreamhost.

screen2

Con esta confiuración cuando iniciemos sesión podemos abrir el Mysql Query Browser y conectarnos al puerto que le asignamos al servidor remoto.

screen3

De Winamp a Google Talk

Esto puede sonar como algo viejo para algunos, pero para mi fue una sorpresa que poner el nombre la canción que estás escuchando como tu status en Google Talk sea tan fácil.

Voy a suponer que tienes Winamp y Google Tak instalados, así que el resto es simple.

Te diriges a la carpeta de Winamp, usualmente:  C:\Program Files\Winamp y creas un archivo vacío llamado Winamp.m3u

Luego de haber hecho esto puedes seleccionar el status Show current music track en Google Talk.

Mejores FAQ’s con jQuery

Una forma de mostrar un FAQ o las preguntas frecuentes sin la necesidad de muchos divs y otras cosas superfluas. (Ver código fuente)

Ejemplo

Como usamos Google Sites para colaborar

Nuestro proceso de diseño ha cambiado mucho desde que comenzamos a usar Google Sites, es más fácil compartir un link que convocar una mini-reunión para que todos vean el diseño.

Wilbur Suero, DASC

Algunas de las reflexiones que han surgido después haber utilizado Google Sites para interactuar con grupos pequeños y  como el concepto de microblogging ha ayudado mucho a hacer que nuestro equipo lo disfrute tanto como los clientes. Tomando como base que controlar no es la mejor vía, actualizamos con un modelo más informal, con menos reglas.

Ya que es un poco difícil o falta mucho tiempo para  que las empresas grandes empiecen a  adoptar el microblogging como una forma de comunicación seria, este es un ejemplo de como puede ser de gran ayuda a los grupos pequeños de personas enfocados en un mismo tema.

Que es Arquitectura de la información?

Con todos los complejos requerimientos, bases de datos, información instantánea y el tamaño de los websites y redes del día de hoy la arquitectura de la información se ha convertido en un factor crítico en el desarrollo de la mayoría de los proyectos web a gran escala.

Para mezclar lo técnico con lo visual manteniendo el sentido de la estructura y la usabilidad es necesario tener una arquitectura de información. (más…)