Foros del Web » Programando para Internet » PHP »

seguridad en log??

Estas en el tema de seguridad en log?? en el foro de PHP en Foros del Web. buenas hace poco hic una clase para loguear y esta hasta ahora funciona pero tengo un amigo q tiene mas tiempo que yo en esto ...
  #1 (permalink)  
Antiguo 06/08/2010, 22:31
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 11 años, 5 meses
Puntos: 461
Pregunta seguridad en log??

buenas hace poco hic una clase para loguear y esta hasta ahora funciona pero tengo un amigo q tiene mas tiempo que yo en esto de la programacion que la vio y me dijo q para empezar esta bien pero q le metiera mas seguridad yo oyendo concejo pa llegar a viejo lei algo pero noc si sea suficiente pudieran decirme que mas puedo hacer para darle mas seguridad?? gracias de antemanos dejo el codigo
Código PHP:
<?php 
session_start
();
require_once(
"conexion.php");
class 
logeo{
    private 
$conectar;
    private 
$user;
    private 
$pass;
    private 
$consulta;    
    private 
$row;
    public function 
cargar($user,$pass){
        if(
preg_match("/(^[\w]{1,20}).([\w]{1,20}$)/",$user)){ 
            
$this->user=strtolower(htmlentities(trim(strip_tags($user))));        
            
$this->pass=md5($pass);
            
$this->logeate();
        }
        else{
            echo 
"ha indicado un formato no valido";
            exit;
        }    
    }
    private function 
logeate(){        
        
$this->conect=new conexion();
        
$this->conect->selectDb("db");
        
$this->consulta=$this->conect->ejecutarSentencia("SELECT usuario,pass,nivel,estatus FROM usuario WHERE usuario='".mysql_real_escape_string($this->user)."' and pass='$this->pass'");
        
$this->row=$this->conect->mostrarResultados($this->consulta);
        
//$this->conect->desconectar();    
        
if(count($this->row)>0){
            
            if(
$this->row['estatus']=="habilitado"){
                
$_SESSION['UserAuten']="usuario_ingresado";#autentificacion usuario
                
$_SESSION['nivelUser']=$this->row['nivel'];#guardamos el nivel para darle los privilegios
                
echo "Ha ingresado correctamente";
                exit;
            }
            else{
                echo 
"el usuario esta deshabilitado";
                exit;
            }    
        }
        else{
            echo 
"El usuario o la contraseña no es correcto";
            exit;
        }        
    }
}
#################################################################
#################### pruebas a  las clases  #########################
#################################################################
$log=new logeo();
$log->cargar("usuario",123456);
?>
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #2 (permalink)  
Antiguo 06/08/2010, 23:10
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 18 años, 1 mes
Puntos: 105
Respuesta: seguridad en log??

Holas,

Intentastes poner la opcion del conteo de mal intentos, por ejemplo en ingresar mal la contraseña o usuario mas de 3 veces podrias bloquear durante 1 hora o 30 minutos o por si solo la cuenta del usuario, y archivas la ip fecha y hora que intento loguearse.

Saludos
Gildus
__________________
.: Gildus :.
  #3 (permalink)  
Antiguo 06/08/2010, 23:17
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 11 años, 5 meses
Puntos: 461
Respuesta: seguridad en log??

si eso lo tengo pero no me cupo aki, bueno noc si lo hic bien agregue a la base de datos en la tabla usuario un contador de errores que si loguea se convierte en 0 si pasa de 5 para no ser tan drastico como me dijo un amigo le cambia el estatus al usuario a bloqueado lo que no hic fue q fuera por espacio de tiempo eso lo haria como en una tabla temporal con la ip y el usuario?? bueno como lo hice solo es si se ekivoca metiendo pass xq actualiza el usuario si se ekivoca en la pass?? como haria bloqueo la ip o q ?? gracias por responder
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #4 (permalink)  
Antiguo 07/08/2010, 08:42
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 18 años, 1 mes
Puntos: 105
Respuesta: seguridad en log??

Holas,

Bloquearias solo la cuenta del usuario un campo en tu tabla como status, y luego con eso del tiempo me referia mas controlarlo por el lado del cliente, con un codigo javascript, hacer un conteo de 30 segundos o 40 segundos, algo por alli para que tenga tiempo en logearse si pasa esos segundos se cierra la ventana por decir.

Saludos
Gildus
__________________
.: Gildus :.
  #5 (permalink)  
Antiguo 07/08/2010, 10:14
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 11 años, 5 meses
Puntos: 461
Respuesta: seguridad en log??

buenas gracias por la respuesta pero cerrarle la ventana?? como hacen por ejemplo en esta pagina que si te ekivocas 5 veces te dicen que estaras bloqueado por cierto tiempo? xq yo lo e echo y e bloqueado al usuario despues de las 5 veces con como te dig una consulta y una actualizacion al contador en la base de datos si esta es mayor o igual a 5 esta bloquead el usuario y telo informa con un alert, pero bloquearla por un tiempo no lo e intentado de echo no tengo idea de como hacerlo jaja voy a inverstigar si con una funcion mktime y compararlo con la hora del bloqueo y si paso el tiempo lo desbloquee gracias x tus sugerencias me han ayudado, si tienes alguna otra observacion por favor xq ami me gusta q me encuentren todos los detalles para aprender un poco mas gracias saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 07/08/2010, 12:27
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 18 años, 1 mes
Puntos: 105
Respuesta: seguridad en log??

Con cerrarle la ventana me referia a que antes de entrar a la venta de logeo, tiene 60 segundos por ejemplo para que ingrese, sino hace nada hasta entonces que se cierre la ventana,eso es con javascript.

Saludos
Gildus
__________________
.: Gildus :.
  #7 (permalink)  
Antiguo 07/08/2010, 12:37
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 11 años, 5 meses
Puntos: 461
Respuesta: seguridad en log??

ok yo entiendo eso de como cerrarle la ventana pero paraq?? supon que en la pagina de inicio de mi pagina tengo un formulario para iniciar sesion no me seria funcional eso xq me cerraria la pagina de incio q alomejor tengo unos link abierto al publico espero me allas entendido y bueno de esto que me dijiste tu como hago para que me bloque por tiempo al usuario?? por ejemplo como hacen en esta pagina disculpa tanta molestia pero es q kiero hacer las cosas bien y preguntando se llega a roma y claro investigando gracias
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #8 (permalink)  
Antiguo 07/08/2010, 14:48
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 18 años, 1 mes
Puntos: 105
Respuesta: seguridad en log??

eso de cerrarle solo era un ejemplo, puedes poner unaviso, un banner, etc. ahora en eso del bloquear por tiempo como lo hace el foro, creo q podria ser con el mktime.

Saludos
Gildus
__________________
.: Gildus :.
  #9 (permalink)  
Antiguo 07/08/2010, 22:08
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 11 años, 5 meses
Puntos: 461
Respuesta: seguridad en log??

bueno gracias por tus respuestas fueron de ayuda ya esta en proceso ya le meti q bloqueara al usuario pero no que sea temporal creo que voy a crear una tabla que sea temporal para obtener el usuario bloqueado y la fecha y hora de bloqueo y que si intenta despues de 30 minutos o mas lo borre de la temporal y lo active pero noc si alla una mejor solucion gracias
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way

Etiquetas: log, seguridad
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 14:35.