¿Qué tan seguro es este login que he planteado en un sitio web en ASP.Net?

Iniciado por TwisteD420, 3 Abril 2012, 03:51 AM

0 Miembros y 1 Visitante están viendo este tema.

TwisteD420

Bueno, les comento que estoy realizando un proyecto para la universidad el cual es para una clinica de oftalmología, este es el loggin que yo he codificado y quisiera saber si podria ser facilmente filtrado o como es la mejor manera de hacerlo, gracias de antemano!

private void ingresar()
   {
       string cadena = "";
       ////en esta variable se almacenara la conteaseña si existe.
       try
       {
           u1.Id = txtID.Text;
//capturamos el usuario
           cadena = u1.Consultar();
//realizamos una conexion a la bd para obetener la contraseña y guardarla en la variable "cadena"
           if (this.txtPass.Text == cadena)
//comparamos el texbox del password con la contraseña obtenida mediante la consulta sql.
           {
               this.Session["us"] = txtID.Text;
               this.Session["cargo"] = u1.ConsultarTipo();
               this.Server.Transfer(".aspx");
           }
           else
           {
               if (cadena == "")
               {
                   Label1.Text = "Usuario inexistente.";
               }
               else
               {
                   Label1.Text = "Contraseña incorrecta.";
               }
           }
       }
       finally
       {
           txtID.Text = "";
           txtPass.Text = "";
       }

Kase

es ingeniosa... xD  asumimos que u1  esta protegido contra sqlinjection vrd?

agrega una variable  booleana al usuario  ( is_active )   de ese modo podras banearlo y/o  evitar que inicie session

TwisteD420

Cita de: Kase en  3 Abril 2012, 06:18 AM
es ingeniosa... xD  asumimos que u1  esta protegido contra sqlinjection vrd?

agrega una variable  booleana al usuario  ( is_active )   de ese modo podras banearlo y/o  evitar que inicie session

Hola!!

u1 es el objeto de la clase Usuario

    DBConn.Usuario u1 = new DBConn.Usuario();


Ahora tengo 2 consultas...
1- Como puedo proteger "u1" contra sqlinjection?
2- podrias explicarme un poco mas a fondo la variable booleana (is_active) primera vez que escucho de ella y no me queda muy clara con lo que he leido...

Muchisimas gracias!!!! Saludos!

Kase

simple  a tu objeto usuario y a tu base de datos añadele  un variable booleana para revisar cuando esta activo...  (ejemplo is_active )  te quedaria  u1.is_active

el problemita con tu codigo es esto

cadena = u1.Consultar()   

asumo que consultar es un metodo que solo devuelve el usuario.. si es asi tendrias que hacer otro metodo   u1.consultar_activo() que te retorne el valor de la  variable is_active

ahora durante el proceso de login puedes hacer un

if (! u1.consultar_activo()){
    Label1.text = ' tu no puede loguear por que as sido baneado'
}else{
// resto de tu login
}

cuando quieras impedir el acceso a alguien    cambias su variable is_active = False


yo no programo en asp.. xD  pero  la idea es esa... añadir a tu usuario una variable de baneado  para permitirle el login o no.

TwisteD420

Cita de: Kase en  3 Abril 2012, 08:30 AM
simple  a tu objeto usuario y a tu base de datos añadele  un variable booleana para revisar cuando esta activo...  (ejemplo is_active )  te quedaria  u1.is_active

el problemita con tu codigo es esto

cadena = u1.Consultar()   

asumo que consultar es un metodo que solo devuelve el usuario.. si es asi tendrias que hacer otro metodo   u1.consultar_activo() que te retorne el valor de la  variable is_active

ahora durante el proceso de login puedes hacer un

if (! u1.consultar_activo()){
    Label1.text = ' tu no puede loguear por que as sido baneado'
}else{
// resto de tu login
}

cuando quieras impedir el acceso a alguien    cambias su variable is_active = False


yo no programo en asp.. xD  pero  la idea es esa... añadir a tu usuario una variable de baneado  para permitirle el login o no.

Muchisimas gracias por responder mi duda, me ha quedado bastante clara!!

Saludos!!