Foros del Web » Programando para Internet » PHP »

Md5..

Estas en el tema de Md5.. en el foro de PHP en Foros del Web. HOla, puse un campo de mi bd como md5 y luego en el php lo puse asi $contrasena = md5($contrasena); pero a la hora de ...
  #1 (permalink)  
Antiguo 26/03/2007, 09:48
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 4 meses
Puntos: 0
Md5..

HOla, puse un campo de mi bd como md5 y luego en el php lo puse asi

$contrasena = md5($contrasena);

pero a la hora de comparlo con lo ke escribo en la caja de texto no me funciona? ke hago mal?

Por cierto oi ke habia una funcion en php de campos seguros mysql, ahora tengo prohibidos con condiciones que en ellos se puedan escribir caracteres especiales, pero escuche que era mejor lo otro, mire pero no encontre nada, saben algo?
  #2 (permalink)  
Antiguo 26/03/2007, 11:10
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: Md5..

lo de la seguridad ya lo encontre lo pongo por si a alguien le interesa

mysql_real_escape_string($var),
  #3 (permalink)  
Antiguo 26/03/2007, 11:15
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Md5..

No se entiende la parte de md5. Si los pass de tu BD estan encriptados con MD5, la unica forma de comparar estos con los que ingrese un usuario en un simple input es encriptando con md5 este ultimo y recien ahi comparar.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #4 (permalink)  
Antiguo 26/03/2007, 11:23
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Md5..

asegurate que el tipo de dato que reciba el campo donde se guarda la contraseña seade tipo string como puede ser varchar(32), los 32 es porque es el tamaño de la cadena que devuelve el md5, a demás verifica que cuando realices la consulta sea como string, otra cosa utiliza $_POST, $_GET o $_REQUEST segun recibas el valor del formulario.

ejemplo:
suponiendo que los valores los pasa por post

$contrasena = md5($_POST['contrasena']);

consulta

$sql="SELECT contrasena FROM contrasenas WHERE contrasena='$contrasena'";
y lo demas....

espero y te sirva, saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #5 (permalink)  
Antiguo 26/03/2007, 11:33
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: Md5..

puse a 32 eso, y ademas, estaba poniendo el md5 a la variable ke sacaba de la bd, pense ke lo desincriptaria, lo puse ala variable de la caja de texto del form anterior, y todo oki.

Gracias.
  #6 (permalink)  
Antiguo 26/03/2007, 11:37
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: Md5..

Por cierto puse esto

mysql_real_escape_string($_POST['pass']);


comopuedo haser para comprobar ke funciona?
  #7 (permalink)  
Antiguo 26/03/2007, 11:53
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Md5..

creo que con esto bastaria

echo mysql_real_escape_string($_POST['pass']);

o de lo contrario asignalo a una variable y lo imprimes en pantalla

echo $resPass=mysql_real_escape_string($_POST['pass']);

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #8 (permalink)  
Antiguo 26/03/2007, 11:58
 
Fecha de Ingreso: diciembre-2004
Mensajes: 371
Antigüedad: 19 años, 4 meses
Puntos: 0
Re: Md5..

mysql_real_escape_string($_POST['pass']);

echo mysql_real_escape_string($_POST['pass']);

echo $resPass=mysql_real_escape_string($_POST['pass']);

Puse eso, y probe a escribir en el form anterior

< > \ <script>... pero no me muestra nada

debo de escribir alguna otra cosa para ke me muestre?
  #9 (permalink)  
Antiguo 26/03/2007, 12:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Md5..

mysql_real_escape_string solo te protege contra sql inyection es decir solo te escapa estas variables:
Código:
" ' \
Si lo que deseas es escapar esas variables, necesitas usar una combinacion de htmlspecialchars y strip_tags.
  #10 (permalink)  
Antiguo 26/03/2007, 12:18
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Re: Md5..

exacto, como dice GatorV, tanto mysql_real_escape_string como addslashes (en php) sirven para proteger tu codigo de alguien malintecionado que quiera inyerctar codigo sql y tratar de dañar tu BD, para que veas como funcione es necesario que coloques caracteres especiales como '' (comillas simple), ""(comillas dobles) entre otros, es decir si escribes en tu txt pass algo como 'contraseña' al pasar por estas funciones te debe de devolver \'contraseña\' (ojo esto no es inyeccion sql, es solo un ejemplo para que veas como funciona).

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:45.