Archive for the ‘General’ Category

junio 22, 2010 1

Insertar o actualizar registros en MySQL

By in General

En muchas ocasiones nos puede interesar insertar un registro o actualizarlo si este ya existe. Para hacer esto tenemos varias opciones, como por ejemplo estas dos:

Opción A:

  1. Comprobamos si el registro ya existe.
  2. Si no existe lo insertamos.
  3. Si existe lo actualizamos.

Opción B:

  1. Intentamos insertar el registro.
  2. Si se produce un error lo actualizamos.

Pero MySQL nos da una opción mucho más elegante para realizar esto. Se trata de utilizar la construcción ON DUPLICATE KEY UPDATE. Podemos ver la documentación de esta construcción en el manual de MySQL. Pero vamos a ver un par de ejemplos:

INSERT INTO tabla (a, b, c) VALUES (1, 2, 3)
ON DUPLICATE KEY UPDATE b=2, c=3

De esta forma si ya existe un registro con el valor del campo “a” igual a 1, suponiendo que el campo a sea la clave, se actualizarán los valores. ¿Y si tenemos varios registros? Entonces podemos usarlo de la forma siguiente:

INSERT INTO tabla (a, b, c) VALUES (1, 2, 3), (4, 5, 6)
ON DUPLICATE KEY UPDATE b=VALUES(b), c=VALUES(c)

De esta forma se cogerá los valores b=2 y c=3 para la clave a=1 y b=5 y c=6 para la clave a=4.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: ,

mayo 24, 2010 0

Demos y ejemplos de HTML 5

By in General

En la web de HTML 5 Demos and Examples podemos vemos ver distitntos ejemplos de uso de HTML 5, así como los navegadores en que puede verse. Muy interesante para ir viendo lo que se puede hacer con esta nueva versión de HTML.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , ,

abril 21, 2010 0

Sustituido el plugin de resaltado de sintáxis

By in General

Desde hoy, el plugin que se utiliza para resaltar el código es Syntax Highlighter WordPress Plugin. A este plugin, creo que más vistoso que el anterior, se le indica el código de forma distinta. Por este motivo, y porque hoy no podré editar todas las entradas, durante un tiempo ambos convivirán, espero que no por mucho tiempo, hasta que haya actualizado todas las entradas. Perdonen las molestias, espero solo visuales, que esto ocasionará.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags:

abril 20, 2010 1

Consejos de seguridad en el desarrollo de aplicaciones web

By in General, PHP

La seguridad es un aspecto muy importante al que hay que prestar atención cuando se desarrolla. Es importante tenerla en cuenta desde el mismo comienzo del desarrollo, no dejando la seguridad como algo secundario a realizar en momentos posteriores. Es por esto que vamos a dejar algunos consejos de como mejorar la seguridad durante el desarrollo de nuestras aplicaciones.

No confies en los usuarios

Esta es una de las reglas más importantes. Considera todas los datos que tus usuarios envíen como maliciosos.

$id = intval($_GET['id']);
mysql_query("SELECT username, email, password FROM users WHERE id = $id");

Con una sola linea podemos evitarnos una inyección SQL, por ejemplo.

Validación de datos en el servidor

Es importante realizar la validación de los datos en el servidor. Aunque realicemos también validación en cliente, mediante JavaScript por ejemplo, no hay que olvidarse que es relativamente fácil saltarse esta. Validando los datos en el servidor desde el principio nos evitamos bastantes problemas.

Presta atención a los archivos subidos

Si permites que tus usuarios suban archivos al servidor comprueba estos adecuadamente. Si son imágenes comprueba su tamaño, su tipo MIME, etc, con la función getimagesize. En caso de que sean otro tipo de archivos puedes usar fileinfo (disponible desde la versión 5.3.0) para obtener información de los archivos. Por ejemplo:

Asegura tus formularios contra los bots

Usa algún tipo de captcha para asegurar tus formularios contra bots de spammers. Hay distintas técnicas, puedes implementar uno propio, hacer uso de algún servicio externo o usar una librería de terceros.

Permisos mínimos para el usuario de la base de datos

Da los mínimos permisos al usuario de la base de datos. Si la aplicación solo va a realizar consultas SELECT, INSERT y UPDATE que el usuario de la base de datos solo pueda realizar SELECT, INSERT y UPDATE. No es nada complicado y te puede evitar algún que otro quebradero de cabeza.

Estos consejos son una “traducción” muy libre de estos otros:

http://www.osmialowski.me/blog/web-development-security-tips/

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , ,

abril 13, 2010 0

Cheat sheets para todos los gustos

By in General

Navegando por estos mundos de Internet he encontrado una colección de cheat sheets muy interesante. Podemos verlas todas en el siguiente enlace: Cheat Sheets.

Me han parecido muy interesantes las siguientes:

Por supuesto hay muchas más que pueden ser de mucha utilidad mientras se desarrolla.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , , ,