Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/08/2013, 19:04
minombreesmm
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
¿Es correcta esta validacion de logeo?

Tenia pensado mas cosas pero
creo que con la contraseña encriptada es suficiente para descartar posibles inyecciones sql.


Código SQL:
Ver original
  1. $sql="select usuario,contrasena from usuarios where usuario='".$_POST['usuario']."' and contrasena='".sha1($_POST['contrasena'])."' limit 1";

si ponen caracteres especiales estos se convertiran con sha1 para comprobar la contraseña.
que opinan?
alguna sugerencia?


y por cierto tengo 25,092,500 de registros(de prueba) 25 millones
cada registro es un usuario.
entonces hago mi consulta para ver usuarios(si son amigos,les envie solicitud,me enviaron o no son nada mio) y me anda rapidisimo, solo muestro 30 usuarios por pagina.(dura 1.5 segundos en php)(0.0070 en mysql)
el caso es que en el logeo no es igual.(dura 2 a 3 segundos)(0.0013 en mysql) las diferencias es por que el php procesa algunas cosas menos que la de amigos)
ya que la consulta me imagino que recorre cada registro para verificar la coincidencia.
le puse limit 1 para que sea mas rapida, y si lo es, ya que si encuentra el registro detiene la busqueda, al menos eso lei.
pero de que otra manera podria optimizar la consulta para que dure 0.0001 s ?

las pruebas las hice con un usuario si esos millones de usuarios hacen la consulta al mismo tiempo entonces me imagino que el tiempo se multiplicara oO

y agrego otra cosa, si pongo los datos incorrectos se queda trabada buscando en php

pero si puedo iniciar sesión en otro explorador con otro usuario correcto en 1 segundo o 2.
por que se cuelga?

por cierto un consejo, es bueno poner un boleando de usuario eliminado y asi en todas las tablas.
incluso en las de relaciones de amistad? por que yo ahorita les doy delete a todas.
por que por ejemplo en las relaciones de amistad si un usuario elimina a otro no veo por que tener la relacion registrada, ustedes que opinan? no ocupara espacio dioquis?
y si se diera el caso de registrarla tambien tendria que registrar quien elimino a quien a que horas y los motivos confidenciales o x razon para que sea algo completo y que valga la pena no creen?


reedit, en este momento le agregue indices a las tablas y resulta mas rapido pero al revez, en vez de tardar mas cuando es incorrecto ahora tarda mas cuando es correcto, pero no se cuelga
de antemano gracias.
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra

Última edición por minombreesmm; 03/08/2013 a las 20:41