Foros del Web » Programando para Internet » PHP »

Verificar contraseña

Estas en el tema de Verificar contraseña en el foro de PHP en Foros del Web. Que tal amigos! Les pido por favor me ayuden con una duda que tengo, he buscado por todos lados y no logro encontrar algo, busque ...
  #1 (permalink)  
Antiguo 19/08/2009, 11:14
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 17 años, 10 meses
Puntos: 7
Pregunta Verificar contraseña

Que tal amigos!

Les pido por favor me ayuden con una duda que tengo, he buscado por todos lados y no logro encontrar algo, busque en las FAQ's y no lo he encontrado.

Resulta que acabo de realizar un sistema central de acceso a muchos programas de una intranet, pero me hicieron un ultimo requerimiento a este sistema:

que la contraseña de cada usuario sea de al menos de 8 caracteres y que contenga al menos un numero y una mayuscula

lo de los caracteres ya lo tengo hecho y me queda asi:

Código PHP:
$clave="123456";//ponemos una clave de ejemplo
if (strlen($codigo)=>8){
    echo 
'La clave es fuerte porque cumple con los requisitos';
}else{
    echo 
'El codigo '.$clave.' debe ser mayor a 8 caracteres';

Pero no se me ocurre como verificar que la cadena de la contraseña contenga al menos un numero y una letra mayuscula.

Alguna idea de como lo puedo hacer??

De antemano muchas gracias por la ayuda!
  #2 (permalink)  
Antiguo 19/08/2009, 11:17
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Verificar contraseña

Puedes usar una expresión regular. /\d/ para saber si tiene un dígito y /[A-Z]/ para saber si tiene una letra mayúscula.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 19/08/2009, 11:17
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Verificar contraseña

Te sugiero leer sobre Expresiones Regulares
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 19/08/2009, 11:26
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 17 años, 10 meses
Puntos: 7
Respuesta: Verificar contraseña

Gracias David y abimaelrc:

Mi duda es, como verificar si posee al menos un numero y una letra mayuscula? con un if tal vez?
  #5 (permalink)  
Antiguo 19/08/2009, 11:28
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Verificar contraseña

Creas la expresion regular y con un if verificas que haya ingresado esos dos datos de digito y numero
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 19/08/2009, 11:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Verificar contraseña

Si leíste el enlace que te dejó abimaelrc verás que puedes usar preg_match para el efecto. Lee la documentación: http://php.net/preg_match
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 19/08/2009, 11:50
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 17 años, 10 meses
Puntos: 7
Respuesta: Verificar contraseña

Muchas Gracias de nuevo a ambos:

trate de verificar que tenga mayusculas y me verifica la cadena pero tenga o no mayusculas me deja pasar el if

mi codigo:

Código PHP:
if (preg_match("/^[A-Z]/i""hola mundo")) {
    echo 
"A match was found.";
} else {
    echo 
"A match was not found.";

No se si tengo q poner otro parametro para que me verifique las mayusculas
  #8 (permalink)  
Antiguo 19/08/2009, 11:56
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Verificar contraseña

El flag /i es para indicar que no es sensible a mayúsculas, por lo que no debes usarlo.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 19/08/2009, 12:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Verificar contraseña

Estas declarandolo insensitive con la letra i al final
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 19/08/2009, 12:04
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 17 años, 10 meses
Puntos: 7
Respuesta: Verificar contraseña

Muchas gracias David y abimaelrc han solucionado mis dudas!
Karma para ambos! tema cerrado!
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 15:32.