Horrores en la web local 4

Escrito por nelson Tue, 24 Jun 2008 21:48:00 GMT

Desde hace un tiempo que quiero armar algunos posts sobre horrores que veo en la web, pero aveces no me decido o me tapa el tiempo u otras cosas… pero hoy me saqué con lo que vi…. así que acá va….

Me pasaron el link de http://www.redpanal.com , un nuevo sitio que promete poder convertirse en algo interesante, pero que dudo que lo logre, al menos en su formato actual, pero eso es para otro post. Y me puse a mirar el desarrollo….y la verdad que deja que desear…

Por ejemplo utilizando el siguiente link http://www.redpanal.com/buscar.php?&q=tango&sort=NO_EXISTE se puede ver un error que sale por pantalla y se muestra la sentencia SQL con el error, el primero es un error de configuración del php y el segundo un error de programación pasar datos al query sin validar.

O este otro: http://www.redpanal.com/buscar.php?&q=amador&enviar=Buscar&sort=p.genero%20ASC donde se puede ver al final del link que se usa la sentencia SQL en el HTTP GET para ordenar las listas.

O editando el perfil del usuario (para esto hay que registrarse), se puede llegar a este error ingresando comillas en el nombre:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'hola mundo'', nombre = 'nelson-fernandez', sexo_id = 0, fecha_nacimient' at line 3
UPDATE usuarios SET nombre_contacto = ''hola mundo'', nombre = 'nelson-fernandez', sexo_id = 0, fecha_nacimiento = '--', sitio_web = '', blog = '', AIM = '', yahoo = '', MSN = '', gtalk = '', skype = '', pais_id = 0, provincia = '', ciudad = '', codigo_postal = '', descripcion = '', is_suscripcion_newsletter = 0, is_mail_publico = 0, is_alertas = 0, modified = '1214349162' WHERE id = 595 
Donde se puede obtener como esta armada la base de usuarios.

Viendo eso, solo queda dedicarle algo de tiempo y entusiasmo a http://www.redpanal.com/dologin.php y seguro que algo se va a lograr.

Otro sitio que llamó mi atención fue la parte de clasificados de CriticalDigital. Si se entra a esta página http://clasificados.criticadigital.com.ar/articulos.php y se busca por el tag “type=’hidden’” en el fuente html se van a ver los parámetros para la búsqueda SQL … embebidos en el form HTML !!! ... lo cual lo hace muy apetitoso de ponerse a jugar….. y si se pone uno a mirar el SQL que utiliza para filtrar los distintos tipos de clasificados (autos,casas) es peor todavia ! ... para hacer el filtro utiliza esta sentencia (solo pego la condición del sql):

CLASIFICADO.ID_CLASIFICADO NOT IN (SELECT ID_CLASIFICADO FROM AUTO) AND  CLASIFICADO.ID_CLASIFICADO NOT IN (SELECT ID_CLASIFICADO FROM CASA)

Necesita de 3 selects para filtrar una vista por un artículo a la venta !! y si al sitio le llegara a ir medianamente bien, el costo de armar ese filtro seria carísimo !!! y nuevamente se muestra a los posibles hackers información de cómo están construidas las tablas y poder deducir otras partes del sitio.

Horrores…

Compartiendo algunos scripts

Escrito por nelson Mon, 28 Jan 2008 23:47:00 GMT

Seguramente la pereza es la madre de muchos de esos pequeños scripts que uno va haciendo para tratar de evitar todas las tareas repetitivas diarias. Acá dejo algunos de mi autoría y algunos que saque alguna vez de internet pero que lametablemente no tomé nota de donde o quien eran :(....

Muchas veces conectado remotamente a un servidor necesito acceder a la base mysql del proyecto RoR activo y es un dolor de culo tener que mirar el database.yml para ver las credenciales y luego escribir la línea a mano para conectarse, para evitar eso, escribí esto:

#! /usr/bin/ruby
require 'yaml'

puts ARGV[0]
case ARGV[0]
when 'd' then env = 'development'
when 'p' then env = 'production'
when 't' then env = 'test'
else
  env = 'development'
end

config = YAML::load_file('config/database.yml')[env]

puts "mysql -u#{config['username']} -p#{config['password']} #{config['database']}" 
system("mysql -u#{config['username']} -p#{config['password']} #{config['database']}")
de esta manera estando parado sobre el directorio raiz del proyecto se puede hacer
 rmy
y se conecta por defecto a desarrollo o
rmy p
y nos conectamos a producción…

Otro… ahora que la última versión de RoR incorporó la tarea de poder ver las rutas con

rake route
esta bueno, pero es otro dolor de culo tener que buscar una ruta y escribir
rake route | grep usuarios
para filtrar la vista… para eso ésta función en bash

rro () 
{ 
    rake routes | grep --color=auto $1
}

ahora solo hay que hacer

rro usuarios

y como plus se tiene el texto buscado resaltado en color ;).. una joyita….

Otra función bash que uso mucho basado en la misma idea es la de búsqueda en el history del bash

function hf()
{
  history | grep --color=auto $1

}
y esto para que ??.. aveces hay comandos largos con parámetros que repetirlos es tedioso, para evitar eso primero buscamos en el history
hf mysql
para obtener todos los comandos en el history que tenga el texto mysql y a la izquierda hay un número con la posición en el buffer, con ese número luego hacemos
!128
y se ejecuta esa entrada en el history ;)

Para terminar les dejo mi pequeño archivo de bash que cargo cada vez que abro una consola

alias l='ls -lah' 
alias h='history'
alias c='clear'
alias ..='cd ..'
alias ...='cd ../..'
alias grep='grep --color=auto'

set -o vi

function hf()
{
  history | grep $1
}

function sf()
{
  svn st | grep \? | sed '/images\/[0-9]\+$/d' | sed '/\.swp/d'
}

function rro()
{
  rake routes | grep $1
}
como cargo este archivo ??... al final de .bashrc tengo:
. ~/bin/bash_alias

bash_alias es el nombre de mi archivo

Espero que a alguien le interese y le sirva!.

Configurar Ubuntu para el cambio horario en Argentina 3

Escrito por nelson Fri, 28 Dec 2007 16:44:00 GMT

El 30 de diciembre del 2007 a las 0 hora comenzará a regir el uso horario de GMT-2 hasta el 16 de marzo del 2008 donde se volverá a utilizar GMT-3.

En Linux en /usr/share/zoneinfo está la información de zonas horarias y DST (Daylight Saving Time) de cada país (en el paquete tzdata). Esta información esta compilada en formato binario para poder ser accedida más rápido.

La gente de Debian y Ubuntu están haciendo los paquetes respectivos para actualizar los datos, pero no se si van a llegar a tiempo a los repositorios para una actualización. Para aquellos que quieran actualizar los archivos ahora o esperar a último momento, les dejo una receta.

Estando como usuario root (sudo -s) verificar que no existan configuraciones de DST

zdump -v /etc/localtime | grep 2007

luego bajar al directorio /tmp la nueva configuración temporal del archivo de zona para Argentina, descompactarlo

gzip -d zoneinfo.ar.new.gz
y ejecutar
zic -l America/Argentina/Buenos_Aires zoneinfo.ar.new

Esto compila e instala las zonas de Sudamérica y además recrea el /etc/localtime apuntándolo a la zona de Buenos Aires

Ahora si volvemos a ejecutar

zdump -v /etc/localtime | grep 2007

va a mostrarnos la configuración de DST para el 30 de diciembre.

No se ha incluido la configuración para el 16 de marzo… pero debería venir en la actualización del paquete de la distribución de linux muy pronto.

pd: si funciona todo corrento, créditos y agradecimento a ArCERT (gracias rodo!), si funciona mal, críticas y sugerencias en los comentarios….

Bookmarks sociales con CodeAR 1

Escrito por nelson Fri, 05 Oct 2007 23:17:00 GMT

Invitamos a toda la comunidad de desarrolladores a administrar sus bookmarks desde el servicio de Mister Wong ... ya que tiene un manejo de bookmarks de grupo muy interesante que no encontramos en otros servicios.

Por ejemplo usanto el link http://www.mister-wong.es/groups/CodeAR/ruby/ se pueden ver todos los links guardados bajo el tag ruby de todos los usuario del grupo. Consideramos que es una opción muy interesante y que nos podemos beneficiar todos de la ‘inteligencia colectiva’.

Están todos invitados !! http://www.mister-wong.es/groups/CodeAR/

Porque Mister Wong y no otro ?.... usé mucho tiempo del.icio.us y esta muy bueno pero el manejo de grupos es muy malo, mandé un par de mails pero nunca me respondieron ni nada. Estuve investigando otros servicios y ninguno soporta administrar bookmarks en grupo y poder ver todos los bookmarks que un grupo tiene bajo una misma etiqueta (tag) o si lo tiene, la funcionalidad es muy limitada y pobre.

Llama mucho la atención que “aplicaciones sociales” como se las llama no tengan buenas herramientas para manejar grupos y administrar los tags en grupos. La implementación de Mister Wong si bien le faltan algunos ‘chiches’ está bastante completa y es usable.

Nos quedamos afuera :( 2

Escrito por nelson Tue, 11 Sep 2007 13:39:00 GMT

Acabo de leer que se va a realizar por primera vez en Argentina BarCamp, una conferencia donde se tratan de forma algo más desestructurada y llana temas relacionados con la Web2.0.

Es un tipo de conferencia que nació hace un tiempo con toda la movida de la web social, allí en la madre patria de la tecnología, con exactamente el mismo nombre, BarCamp

Esperamos ansiosos los comentarios de los que vallan y poder ir a la próxima. Ojala se ponga en la web el material de los temas presentados.

Anteriores: 1 2 3 ... 9