Archivo de la categoría ‘Batiburrillo’

sin comentarios

sin comentarios

sin comentarios

Formulario de contacto ajax utilizando lightform

Cuando creamos un sitio web,  una de las secciones “santísima trinidad”* es la de contacto. Obviamente no podemos ponerle barreras al usuario si se quiere poner en contacto con nosotros, utilizar un enlace a una dirección de correo implica que el usuario que por lo general utiliza un correo de webmail, tenga que configurar un cliente de correo o copiar y pegar esa dirección.

Además publicar una dirección de correo electrónico en una web (un mailto:) es un caramelo para bots de SPAM, cuando rastrean la web.

Para realizar un buen formulario de contacto:

  • Simplicidad: si hay campos obligatorios explicar claramente el motivo del error poniendo un ejemplo del formato.
  • Brevedad: Requerir el número de campos obligatorios imprescindible. Nombre, asunto, dirección de correo.
  • Alternativas: Posibilidad de elegir si quiere ser contactado por teléfono o por correo electrónico.

Lightform es una excelente extensión para crear un formulario de contacto, como es de libre distribución podemos mejorarlo y adaptarlo, pero es una buena base:

Existe como plugin para WordPress:

http://wordpress.org/extend/plugins/wp-lightform/

Y también para incluirlo en cualquier web:

http://web-kreation.com/demos/LightForm/

Lo instalamos como cualquier otro plugin (podemos utilizar el explorador de plugins de WP)

Insertamos el código LightForm en la página donde se debe mostrar el formulario de contacto.

Este script es el que uso en patripe.com para el formulario de contacto.

*(¿quiénes somos? | ¿dónde estamos? | contacto)

Utilizar el robot.txt para ocultar tu sitio web

Aunque el entusiasta2.0 piense que esta es otra de mis campañas para demonizar a Google, sólo voy a explicar cómo ocultar una web utilizando el fichero robots.txt y utilizar el sitemap.xml para indicarle a Google las ramas de nuestro sitio que tiene permitido recorrer, por razones técnicas, de seguridad y de privacidad. Ya que Google aunque técnicamente hace productos muy buenos con sus políticas de privacidad (me corta todo el rollo) me crea una sensación un tanto contradictoria.

Obviamente si no aparecemos en Google no existimos, pero a veces nos puede interesar por ocultardeterminados motivos  que nuestro sitio no aparezca listado en Gran Hermano bien porque es un url de prueba, bien porque nos encontramos desarrollado el sitio o bien porque queremos esconderlo de miradas ajenas: por ejemplo un servicio de videovigilancia ip de un negocio privado, nunca debería aparecer listado en google.

Si queremos impedir  el acceso a google a determinadas zonas de nuestro sitio web, ya sea porque nos permite añadir un punto más de seguridad a nuestro sitio web ( ya que los spammer muchas veces se valen de google para planificar sus ataques), ya sea por otros motivos. Por seguridad en mis sitios webs, no me gusta mantener los directorios privados indexados por google (por ejemplo el acceso a la intranet, el gestor de correo, directorio de administración )

Por ejemplo en un sitio web tengo el siguiente escenario:

  • Utilizamos un gestor de contenidos Joomla (y es fácil que muchas carpetas se encuentren predeterminadas)
  • En la parte de pruebas tenía varios directorios con permisos de escritura (estaba realizando pruebas de componentes)
  • La administración de la versión 1.0.x de Joomla, tenía una vulnerabilidad que no había parcheado en inyección de sql.
  • El Gran Hermano estaba mostrando mis vergüenzas: Si hacía una búsqueda en Google devolvía la ruta al panel de administración (sólo haría falta un ataque de fuerza bruta), y la de pruebas, además eran de las más visitadas, sospecho que porque estaba migrando la página a 1.5.

¿Cómo atacan un sitio?

Generalmente el hacker de turno envía en primer lugar unos robots, que navegan por todos los enlaces visibles de la web buscando vulnerabilidades (autocompletado de formulario, directorios con permisos de escritura, directorios de administración), estos robots, o bien utilizan los motores de otros robots como google, yahoo, msn, para realizar ataques automatizados,  o infectan un conjunto de equipos a los que pone a navegar por internet (redes zombies), y a completar formularios, en busca de vulnerabilidades. ¿Porqué esta gente no dedicará su tiempo y esfuerzo a la computación distribuida o hacer un programa de libre distribución? “

¿Cómo evitar que Google enseñe mis vergüenzas?

Modificar el fichero robots.txt y crear un fichero sitemap.xml. Esto hará que el Gran Hermano evite el acceso a los sitios que indiquemos, pongo el ejemplo de un sitio que no quiero que muestre desde el raíz.

Para no permitir el acceso de cualquier robot al sitio web:

  • Prohibir el acceso a cualquier robot (esto previene los ataques):

User-Agent: *

Disallow: /

    • Para prohibir el acceso a un directorio:Disallow: /correo

    Disallow: /administrator
    Disallow: /pruebas
    Disallow: /intranet

      • Para prohibir la indexación de un fichero:

      Disallow: /cuentas_correo.html

      • Con etiquetas META

      <html>
      <head>
      <meta name=”googlebot” content=”noindex”>

      • Otra sintáxis admitida:

      <META name=”robots” content=”NOINDEX,NOFOLLOW,NOARCHIVE,NOODP,NOSNIPPET, NOOPD, NOYDIR”>

      Esto no permitiría realizar búsquedas, ni seguir un enlace, ni mirar un archivo, ni aparecer en el directorio, ni aparecer en yahoo.

      • Enlaces relacionados:

      Controlando como los robots de búsqueda indexan tu sitio (Herramientas de Google para webmasters artículo en Inglés)