Foros del Web » Programando para Internet » PHP »

Seguridad al validar usuario

Estas en el tema de Seguridad al validar usuario en el foro de PHP en Foros del Web. Hola a todos, gracias de antemano por su tiempo. tengo el siguiente codigo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $user_mail = mysqli_real_escape_string ( $cone , ...
  #1 (permalink)  
Antiguo 28/03/2020, 14:29
Avatar de fedefrankk  
Fecha de Ingreso: agosto-2007
Mensajes: 871
Antigüedad: 16 años, 7 meses
Puntos: 7
Pregunta Seguridad al validar usuario

Hola a todos, gracias de antemano por su tiempo.
tengo el siguiente codigo:

Código PHP:
Ver original
  1. $user_mail= mysqli_real_escape_string($cone,$_POST["user_mail"]);
  2. $user_pass= mysqli_real_escape_string($cone,$_POST["user_pass"]);
  3.  
  4. echo $user_mail;


pero si en usuario pongo "pep'e".. me lo muestra tal cual lo puse

ahora probé con :

Código PHP:
Ver original
  1. $regexp = '/^[a-z0-9]+$/i';
  2. $entrada = 'user_mail';
  3.  
  4. $resultado = preg_match($regexp, $entrada);
  5. if(!$resultado) {
  6.   echo 'entrada incorrecta: ' . $entrada . PHP_EOL;
  7. }
  8.  
  9. $entrada = 'user_mail';
  10. $resultado = preg_match($regexp, $entrada);
  11. if($resultado) {
  12.   echo 'entrada correcta: ' . $entrada . PHP_EOL;
  13. }

este si funciona, la pregunta es como implementarlo para los dos campos?
user_mail
user_pas




Gracias por sus tiempo
saludos cordiales
  #2 (permalink)  
Antiguo 28/03/2020, 15:13
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años
Puntos: 169
Respuesta: Seguridad al validar usuario

la haces funcion, no?
Código PHP:
Ver original
  1. function escapear($valor){
  2. $regexp = '/^[a-z0-9]+$/i';
  3.  
  4. $resultado = preg_match($regexp, $valor);
  5. if(!$resultado) {
  6.   return 'entrada incorrecta: ' . $valor. PHP_EOL;
  7. }
  8. $resultado = preg_match($regexp, $valor);
  9. if($resultado) {
  10.   return 'entrada correcta: ' . $valor. PHP_EOL;
  11. }
  12. }

y la llamas donde la necesites de la siguiente manera:

Código PHP:
Ver original
  1. $variable1= "pep'e";
  2. $variable2 = "pepe";
  3. echo escapear($variable1)."<br/>";// en este caso imprimirá que es incorrecta
  4. echo escapear($variable2);// en este caso imprimirá que es correcta
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 28/03/2020, 16:07
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Seguridad al validar usuario

Creo que ninguna entrada pasará la validación de correo... se necesitan la @ y el punto. Además, no veo qué tienen que ver los caracteres permitidos con seguridad, es más bien una opción de formato.

En todo caso, hay que filtrar todas las entradas, de preferencia, con este aporte: http://www.forosdelweb.com/f18/funci...5/#post3497564

Edición: Agrego porque vi que realmente no es solo el correo lo que se va a "sanear", sino la también contraseña y, definitivamente, limitar el contenido a solo letras y números no es buena idea, en teoría, serían contraseñas fáciles de adivinar.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: mysqli, seguridad, usuario
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 05:16.