Foros del Web » Programando para Internet » PHP »

problemas con login

Estas en el tema de problemas con login en el foro de PHP en Foros del Web. hola chicos hasta hace no mucho tnia una web demo el cual hacia pruebas e invitaba usuarios a que probaran mi proyecto web resulta q ...
  #1 (permalink)  
Antiguo 17/11/2011, 17:49
 
Fecha de Ingreso: abril-2010
Mensajes: 151
Antigüedad: 12 años, 5 meses
Puntos: 1
problemas con login

hola chicos hasta hace no mucho tnia una web demo el cual hacia pruebas e invitaba usuarios a que probaran mi proyecto web resulta q por estar invitando a personas que desconoscia me hackearon adivinaron o usuaron algo para poder loguearse con mi pass y usuario segun me dijo el usuario anonimo que mi web era esto y aquello y q necesitaba mas seguridad en el login

no se que tiene mi login pero aca les dejo segun el uso algo llamado robot y pudo desencriptar mi pass atravez de un ataque sql inyeccion

Código PHP:
 public  function loginUser($user$pass$remember false$redirectTo NULL){
    
        
/* ARMAR VARIABLES */
    
$username strtolower($user);    // ARMAR VARIABLES
        
$pp_password = (strlen($pass) == 32) ? $pass md5(md5($pass) . $user);
        
/* CONSULTA */
        
$query $this->db->select("u_miembros","user_id, user_password, user_activo, user_baneado","LOWER(user_name) = '{$username}'","","1");
        if(!
$query){
            
$query $this->db->select("u_miembros","user_id, user_password, user_activo, user_baneado","LOWER(user_name) = '{$username}'","","1");
        }
        
//
        
$data $this->db->fetch_assoc($query);
        
        if(empty(
$data)){
            return 
'0: El usuario no existe.';
        }
       
        
// CHECAMOS
        
if($data['user_password'] != $pp_password){
            return 
'0: Tu contraseña es incorrecta.';
        } else {
            if(
$data['user_activo'] == 1){
                
/* CARGAMOS */
                
if($this->loadUser($data['user_id'],true)) {    // CARGAR SESSION
                    //$this->update("u_miembros","","");    // LAST LOGIN
        
$sqlStm "UPDATE u_miembros SET user_lastlogin = ".time()." WHERE user_id = {$data['user_id']} LIMIT 1";            
                
$this->db->ejecutarConsulta($sqlStm);                
                
/* COOKIE */
               
               
                
                    
if($remember == true){
                      
$cookie base64_encode(serialize(array('tsUser'=>  Sha1::koxEncode($username),'tsKey'=>$pp_password,'tsRem'=>$remember)));    // CREAR COOKIE
                      
$domain '.'.getDomain();
                     
                                          
createCookie($this->cookieName$cookieTRUE"/"3600);
                                          
                                        }
                    
/* REGISTAR IP */
                    
$user_ip Security::getIP();
                    
$sqlStr "UPDATE u_miembros SET user_last_ip = '{$user_ip}' WHERE user_id = {$data['user_id']} LIMIT 1";
                    
$this->db->ejecutarConsulta($sqlStr);
/* REDERIGIR */
                    
if($redirectTo != NULL){
                         
Security::redirect($redirectTo);
                    }
                    else {
                        return 
true;
                    }
                } else {
                    return 
'0: Error inesperado...';
                }
            } else {
                return 
'0: Debes activar tu cuenta';
            }
        }
              
    } 
  #2 (permalink)  
Antiguo 17/11/2011, 17:57
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 14 años, 2 meses
Puntos: 103
Respuesta: problemas con login

añade en la 1era linea de la funcion
$user= mysql_real_escape_string($user);
  #3 (permalink)  
Antiguo 17/11/2011, 18:00
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 14 años, 2 meses
Puntos: 103
Respuesta: problemas con login

leete esto si tenes tiempo que te explica sobre el sql injection y la seguridad. http://www.soulblack.com.ar/repo/papers/phpseguro.pdf

Saludos

Etiquetas: login, phpajax, redsocial
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 18:02.