[Php-avanzado] Problema con passwords

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Vie Sep 10 21:14:26 ART 2010


Hola Maia,

El vie, 10-09-2010 a las 09:20 -0300, Maia Cordero escribió:
> Exacto Leo. Mi algoritmo asume que no hay dos usuario que se llamen
> igual porque eso nunca puede suceder debido a la estructura de la
> tabla
> 
> 
> CREATE TABLE TB_Usuarios(
>     id_user tinyint unsigned not null auto_increment,
>     login varchar(12) not null,
>     pass char(32) not null,
>     nombre varchar(50) not null,
>     PRIMARY KEY (id_user),
>     UNIQUE KEY usuario (login)
> ) ENGINE=InnoDB;
> 
> 
> Al especificar UNIQUE KEY usuario el motor me asegura que nunca van a
> existir dos nombres de usuarios que se llamen igual.

	Está clarísimo, pero es una asumsión que tu programa no debería hacer,
ya que si alguien crea mal la tabla, o si se porta sin los índices de un
server a otro, o si un sysadmin distraido lo saca, tu sistema falla.

	Pensá que tu software es una cosa, y la DB es otra cosa, y asumir así
porque sí que "el otro software" tenga ciertas características,
configuraciones o privilegios de acceso no tiene justificación alguna.

	Un sistema, pensado como una caja negra, tiene entradas y salidas. A
veces esas entradas y salidas las generan personas, y a veces como en
este caso la generan programas: no debés confiar ni en las personas ni
en los programas para hacer un software de calidad!

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=sanitize+input
+and+output

-- 

Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key



Más información sobre la lista de distribución Php-avanzado