Dropdowns relacionados en RubyOnRails

Noviembre 22nd, 2005

Si necesitamos tener dos dropdown relacionados, en el cual los valores del segundo dependan de cual esté seleccionado en el primero, podemos hacerlo mediante Ajax.

Supongamos las siguientes tablas:

countries
  id  INT
  name  VARCHAR

cities
  id INT
  country_id INT
  name VARCHAR

Queremos dos dropdown, de forma que los valores de las ciudades se carguen dependiendo del país seleccionado. Para ello, en el controlador creamos la función:

def list_cities
  @cities = City.find_all_by_country_id(@params["country_id"])
  @html = "<SELECT id=city_id name=group[city_id]>"
  @html += "<OPTION selected value="">Select city</OPTION>"
  @cities.each do |@city|
    @html += "<OPTION value="#{@city.id}">#{@city.name}</OPTION>"
  end
  @html += "</SELECT>"
end

y en la vista:

<select id="group_country_id" name="group[country_id]">
  <option value="" selected>Select country</option></select>

<div id="city_id_container">
  <select id="group_city_id" name="group[city_id]">
    <option value="" selected>Select city</option>
  </select>
</div>

<%= observe_field "group[country_id]",
  :frequency => 0.25,
  :update => "city_id_container",
  :url => { :action => :list_cities },
  :with => "'country_id='+value")
 %>

El truco está en el observe_field, que observa el dropdown de los países, y cuando su valor cambia hace una llamada al método list_cities pasando como parámetro el país seleccionado. Este devuelve el HTML que se inserta en el div con valor city_id_container.

Muy útil y limpio, aunque encontrar la documentación para hacer esto es un poco difícil, así que lo dejo aquí para quien lo necesite.

Posted in Artículo, RubyOnRails | No Comments »

Aumento de la cantidad de spam no detectado

Noviembre 22nd, 2005

En los últimos días vengo notando un incremento notable de la cantidad de spam no detectado en mi bandeja de entrada. Utilizo Thunderbird para leer mi correo y tengo el filtro de correo basura activado.

Hasta ahora el filtro me había funcionado bastante bien, dando algún falso positivo (algunas newsletters en inglés) y dejando pasar alguno de vez en cuando, cada dos o tres días. Pero en la última semana es raro el día que no encuentro dos o tres correos que no son filtrados, pero que cuando los lees compruebas que son spam.

Por regla general, este spam no detectado está bien escrito. Parece que los spammers han pasado de complicar cada vez más los mensajes que enviaban, llenándolos de código HTML, imágenes,… a escribir texto simple, correctamente redactado y que no levante sospechas.

Veamos un ejemplo de spam que si ha sido detectado:

Hi there,

Try this special product, Cialis. We have millions of happy customers all around the worId .You wiII qet the perfect feeIinq of being a man aqain!

Vemos como contiene una serie de palabras mal escritas que, si leyeramos con otro tipo de letra diferente, parecen correctas. En cambio, el correo que no ha sido detectado como spam, además de estar mejor redactado no tiene faltas de ortografía:

Get the Finest Rolex Watch Replica

We only sell premium watches. There’s no battery in these replicas just like the real ones since they charge themselves as you move. The second hand moves JUST like the real ones, too. These original watches sell in stores for thousands of dollars. We sell them for much less.

¿Alguno de vosotros ha notado también este cambio? Estaré atento a ver como evoluciona el tema y en un próximo post explicaré como funciona la detección de correo basura de este tipo de filtros.

Posted in General, Seguridad 101 | 1 Comment »

Nuevo diseño, nuevos contenidos

Noviembre 21st, 2005

Los que leais el weblog desde el navegador habreis visto que he cambiado el diseño de la página. Me había cansado ya del anterior, que era el que venía por defecto en el Wordpress, así que tocaba encontrar uno nuevo.

Con el cambio de diseño va a haber también un cambio de contenido. Seguiré hablando sobre seguridad, pero ampliaré la lista de temas que trato en el blog.

También intentaré escribir más frecuentemente, aunque eso siempre es complicado, pero habrá que probarlo.

Posted in General | No Comments »

Linkar DLLs con MinGW

Octubre 26th, 2005

Cuando tengo que programar bajo Windows suelo hacerlo en C++ con el compilador MinGW, básicamente porque estoy acostumbrado a hacerlo con gcc en Linux y me siento más cómodo con él que con Visual Studio, además del elevado precio de este.

Esto es un problema cuando necesitamos utilizar librerías externas que no han sido diseñadas para funcionar con MinGW. En este caso me he encontrado al ir a realizar una aplicación que utiliza el SDK de Canon.

Dicho SDK incluye el fichero CDSDK.LIB con el que hay linkar para poder llamar a las funciones que ofrece la DLL correspondiente. Este fichero está pensado para ser utilizado en Visual Studio, por lo que no funciona con MinGW. Por suerte hay una manera de convertirlo, veamosla en sencillos pasos:

  • Exportar las funciones a un fichero DEF con la ayuda de pexports: pexports cdsdk.dll > cdsdk.def
  • Ver todas las funciones que necesitamos importar y que no funcionan. Esta lista nos la da MinGW a la hora de linkar y veremos que las funciones acaban en @nn, donde nn es un número.
  • Modificar el fichero DEF añadiendo los @nn donde sea necesario
  • Convertir la DLL con dlltool (que creo que viene incluido en MinGW): dlltool —input-def cdsdk.def —dllname cdsdk.dll —output-lib libcdsdk.a
  • Copiamos libcdsdk.a a c:\mingw\lib
  • Ya podemos linkar nuestro programa con la libreria: gcc -lcdsdk main.cpp -o programa

Esto servirá también para otras librerías que queramos usar desde MinGW.

Posted in Artículo, Programación | No Comments »

Presentaciones de No Con Name

Octubre 25th, 2005

Desde hace unos días están disponibles en la página de No Con Name las conferencias que se han hecho este año.

A destacar, especialmente Técnicas de ofuscación de código ejecutable x86, donde se entra en el tema bastante en profundidad y muy bien explicado.

También parece interesante Advanced WebApplication Defense with Modsecurity, aunque el PDF que incluyen no muestra demasiada información, probablemente en la presentación que hicieron se explayaron mucho más.

Recordar que si os interesan estos temas, teneis algunos papers escritos por mi en la sección de documentos

P.D. Navegando por la página de isecauditors encuentro la presentación de What The Hack donde cuentan con muchos más detalles el tema de ModSecurity

Posted in General, Seguridad avanzada | No Comments »

Hackeando auriculares Bluetooth

Octubre 17th, 2005

Estaba leyendo un artículo bastante interesante sobre Secuestro de auriculares Bluetooth, en el cual se explica como encontrar auriculares de este tipo y como podemos escuchar el audio que se está transmitiendo a través de ellos e, incluso, enviarles nosotros audio.

Esto significa que, por ejemplo, podriamos conectarnos al manos libres de un coche y empezar a hablar a la gente que está dentro o escuchar sus conversaciones. Evidentemente, esto es un grave riesgo para la intimidad.

Este fallo está provocado, basicamente, por el uso de claves por defecto por parte de estos auriculares (muchas veces utilizan 1234 o 0000), lo cual permite una conexión sin ninguna dificultad. En otros casos, fallos de implementación son los que abren las puertas a este tipo de espionaje. Por ejemplo, el hecho de no pedir confirmación cuando un nuevo dispositivo se asocia con el auricular.

He tenido la ocasión de probar personalmente este ataque y funciona perfectamente con bastantes modelos de manos libres. También estuve jugando con algunos móviles que implementaban Bluetooth y era sorprendente la cantidad de fallos de seguridad que incluían. Especialmente interesantes eran algunos modelos de Nokia que permitían conectarse a ellos y usarlos como un módem o como un terminal, pudiendo enviar comandos AT, con lo que teníamos control completo sobre el teléfono.

Teneis más información sobre estos ataques en las páginas de Triffinite, LOS EXPERTOS (s, si, en mayúsculas) en temas de seguridad en Bluetooth.

Posted in Artículo, Seguridad avanzada | 2 Comments »

Google Print vs Author’s Guild

Septiembre 27th, 2005

Vengo siguiendo en BoingBoing desde hace unos días los posts de Cory sobre la Author’s Guild (el Gremio de Autores americano) y Google Print.

Para los que no lo sepan, Google Print es un webservice de Google a través del cual se puede buscar texto dentro de libros, de forma parecida a como se puede hacer con algunos libros en Amazon. Esto permite encontrar libros que traten sobre un tema y echarles un breve vistazo para saber si nos interesan. Es decir, más o menos lo mismo que podemos hacer en una librería si hojeamos algunos ejemplares para ver cual nos interesa. No es posible consultar ni leer el libro completo, ni tampoco podemos acceder al texto plano, sino simplemente a las páginas escaneadas del libro. O sea, no sirve para copiarnos libros, sino simplemente para encontrar cual es el libro que nos interesa.

A pesar de eso, la Author’s Guild se ha opuesto firmemente a Google Print y a su política de opt-out, es decir, que si no quieres que se muestre tu libro debes pedirlo y han llegado a demandar a Google.

Medidas como esta son tan estúpidas como impedir que las tiendas de música on-line pongan breves fragmentos de la canción que venden o pedir a las radios que no emitan una canción porque alguien podría grabarla. Y son estúpidas, ya no solo desde un punto de vista ético (que también) sino simplemente desde el punto de vista económico. Que mejor manera de darle publicidad gratuíta a un libro que a través de un sistema como este, el cual permite a un autor darse a conocer a un público mucho más amplio.

En fin, como siempre las entidades de gestión parece que tengan una venda en los ojos y no vean la realidad existente en el momento, en un mundo totalmente digital. Por mi parte, espero que estas entidades desaparezcan pronto y encontremos un modelo aceptable para difundir libremente la cultura y remunerar al autor.

Posted in General, Libertad y derechos | No Comments »

Hackeando impresoras

Septiembre 15th, 2005

Desde Shellsec veo un referencia a una artículo sobre hacking de impresoras, donde nos explican una serie de cosas curiosas como la manera de cambiar lo que muestra la pantalla de la impresora, como utilizar impresoras para hacer escaneos de red, sniffear los documentos que se van a imprimir…

Aparte de que el artículo está bastante bien, lo que me parece más interesante es la reflexión que provoca el hecho de que se están utilizando impresoras para fines que, probablemente, el administrador de la red no había imaginado nunca.

Y es que debemos tener mucho cuidado con todo aquello que conectamos a nuestra red, no solo los ordenadores, sino cualquier otro aparato: routers, impresoras, gateways,… pues todos ellos llevan un sistema operativo que suele ser accesible de forma sencilla y, muchas veces, son vulnerables ante fallos básicos.

El panorama ahora no parece muy malo, pero que pasará cuando IPv6 esté implantado y todo tenga su dirección IP: la nevera, la lavadora, el microondas, el vídeo,… ¿Necesitará todo el mundo aprender conceptos de seguridad informática? ¿Y si algún aparato tiene una vulnerabilidad, será posible actualizarlo? ¿Qué pasará cuando nuestra tele se ponga a hacer ataques DDoS al sitio de Microsoft? Ah, tantas dudas…

Posted in Artículo, Seguridad avanzada | No Comments »

Aparece la beta de Windows OneCare

Septiembre 12th, 2005

Me entero a través de Error500 de la aparición de la versión beta de Windows OneCare, la suite de Microsoft para la protección integral de nuestro PC. OneCare incorpora antivirus, firewall, antispyware y una herramienta de backup.

Es de esperar que haga lo que haga Microsoft haya quejas por alguno de los dos bandos. Si ofrecen el OneCare gratuitamente, los fabricantes de productos de este tipo se van a quejar de competencia desleal, de que se les está chafando el mercado,… Si, en cambio, cobran por el OneCare los usuarios se van a quejar de tener que pagar por un producto que arregla los problemas de Windows.

No puedo decir que sienta pena por Microsoft, tanto si hace una cosa como la otra. La única opción razonable que les queda es intentar mejorar al máximo la seguridad que ofrecen por defecto en sus sistema operativo, cosa harto difícil puesto que Windows presenta unas deficiencias de diseño que harán esta tarea imposible.

De todas maneras, si finalmente lo ofrecen de forma gratuita y funciona correctamente, no estará de más probarlo y usarlo.

Posted in General, Seguridad 101 | No Comments »

La retención de datos no es la solución

Septiembre 11th, 2005

Copiado directamente de data retention is no solution. Si os preocupa, ir a la página y firmar vosotros también.

¡La retención de datos no es la solución!

Los ministros europeos de Justicia y la Comisión Europea quieren almacenar todo el tráfico telefónico y de Internet de 450 millones de europeos. Si te preocupa un plan así, te pedimos que firmes esta petición.

¿Qué hay de malo en la retención de datos? La propuesta de retener los datos de tráfico revelará quien ha estado llamando o enviando correos a quien, qué websites visita la gente e incluso donde estaban con sus teléfonos móviles. Se ordenará a las compañías telefónicas y a los proveedores de Internet que almacenen todos los datos de tráfico de sus clientes. Las agencias de policía y de inteligencia de Europa tendrán garantizado el acceso a esos datos. Diversas propuestas en competición actualmente en Bruselas hablan de períodos de retención de entre seis meses a cuatro años.

La retención de datos es una técnica invasiva que interfiere con las vidas privadas de 450 millones de europeos. La retención de datos es una política que expande las capacidades de vigilancia de una forma sin precedentes. De forma simultánea revoca muchas de las garantías de los instrumentos europeos en favor de los derechos humanos, como las directivas de protección de datos y la Convención Europea de los Derechos Humanos.

La retención de datos implica que los gobiernos pueden interferir con tu vida privada y las comunicaciones privadas sin importar si eres o no sospechoso de un crimen.

¡La retención de datos no es una solución para el terrorismo y el crimen!

En julio de 2005 el Parlamento Europeo adoptó un informe del miembro del Parlamento Alexander Alvaro sobre el plan de retención obligatoria de datos. El informe concluía que la propuesta era desproporcionada. Este informe también cuestionaba la necesidad, efectividad y los altos costes para la industria y los usuarios de telecomunicaciones.

No hay investigaciones desarrolladas en ninguna parte de Europa que demuestren la necesidad de crear semejantes bases de datos a gran escala, conteniendo datos tan sensibles con el objetivo de luchar contra el crimen y el terrorismo.

Los ataques a Londres fueron ataques a los derechos humanos. La protección de estos derechos humanos importa más cuando los gobiernos y las sociedades se enfrentan a tiempos de crisis. La peor respuesta posible sería poner en peligro estos derechos cuidadosamente articulados con una respuesta inspirada en el miedo. Responder con vigilancia masiva al terror acabaría siendo un enorme éxito para los perpetradores de semejantes ataques: socavar nuestros valores más fundamentales.

¿Qué puedes hacer para detener este plan?

Si te preocupan los planes relacionados con la retención de datos, por favor, firma la petición y alerta a todas las personas que puedas para dar apoyo a esta campaña.
Las firmas se enviarán a la Comisión Europea y al Parlamento Europeo.

Posted in General, Libertad y derechos | No Comments »

« Previous Entries Next Entries »