Foros del Web » Programando para Internet » PHP »

Problema con login.

Estas en el tema de Problema con login. en el foro de PHP en Foros del Web. Hola gente... Mi problema es el siguiente, estoy haciendo mi primer sistema de gestión de contenido web o un gestor para PyMES, para controlar stock, ...
  #1 (permalink)  
Antiguo 14/08/2012, 15:17
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 2 meses
Puntos: 2
Exclamación Problema con login.

Hola gente...

Mi problema es el siguiente, estoy haciendo mi primer sistema de gestión de contenido web o un gestor para PyMES, para controlar stock, pagos y demás... por ahora es solo para practicar lo recién aprendido...

El problema surge apartir del momento que intenta loguear al sitio, el ingreso no es el problema, el problema esta si yo ingreso con el usuario "admin" (tal asi esta escrito en la DB) y con su pass, entra...
Ahora si yo agarra a admin y lo escribo "aDmin" y a la pass le hago lo mismo, ingresa igual... no se como validar ahi los datos, les paso el codigo...
O sea escribo admin de cualquier manera y la contraseña de cualquier manera, siempre coincidiendo los caracteres lo toma sin problemas...

Acá esta el Html de logueo.

Código PHP:
<body>
    <div id="container">
        <div id="logo_empresa">
               <img src="image/logo.jpg" width="300" height="200" alt="logo">
        </div>
        <?php 
               
if(!isset($_SESSION["autorizado"])){
                include(
"inc/loginbox.php");
            }
            else{
                include(
"inc/home.php");
            }
        
?>
        <div id="vindt">
            <p>Desarrollado por <a href="">Vindt</a></p>
           </div>
    </div>
</body>
loginbox.php

Código PHP:
<div id="loginbox">
    <form name="login" method="post" id="login" action="log.php">
        <fieldset>    
            <?php    include("inc/msglog.php"); ?>
            <label for="usr">Usuario</label>
            <input type="text" name="usuario" id="usr"/>
            <label for="pass">Password</label>
            <input type="password" name="pass" id="pass" maxlength="20"/>
            <input type="submit" value="Iniciar Sesi&oacute;n" class="boton" />
            <a class="recupero" href="">¿Olvid&oacute; su usuario?</a><div class="qlabs_tooltip">i<span><strong>Opciones de recuperaci&oacute;n.</strong>Las opciones de recuperaci&oacute;n pueden ser desactivadas desde el panel de control.</span></div><br/>
               <a class="recupero" href="">¿Olvid&oacute; su password?</a>
        </fieldset>
    </form>
</div>
log.php

Código PHP:
<?php
    
include "inc/const.php";
    include 
"inc/func.php";
    
    
$usuario $_POST["usuario"];
    
$pass $_POST["pass"];
    
    
$sql "SELECT usuario FROM usrs WHERE usuario = '$usuario' AND pass = '$pass'";
    
    
$rs startQuery($sql);
    
$cantRegs mysql_num_rows($rs);
    
    if(
$cantRegs 0){ //si existe...
            
session_start();  
            
$_SESSION["usuario"] = $usuario
            
$_SESSION["autorizado"] = true;
            
header("location: index.php?msg=w00k8p");
    }
    else
    {
            
header("location: index.php?msg=e01pyus");
    }
?>
Espero puedan ayudarme y si se les ocurre algo para mejorar mi codigo, se lo agradesco...

Desde ya muchas gracias...
__________________
@vindt89
  #2 (permalink)  
Antiguo 14/08/2012, 15:25
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: Problema con login.

Hago una correccion este es mi archivo LOG.PHP

Código PHP:
Ver original
  1. <?php
  2.     include "inc/const.php";
  3.     include "inc/func.php";
  4.    
  5.     $usuario = $_POST["usuario"];
  6.     $pass = $_POST["pass"];
  7.     $usuario = stripslashes($usuario);
  8.     $pass = stripslashes($pass);
  9.     $usuario = mysql_real_escape_string($usuario);
  10.     $pass = mysql_real_escape_string($pass);
  11.    
  12.    
  13.     $sql = "SELECT usuario FROM usrs WHERE usuario = '$usuario' AND pass = '$pass'";
  14.    
  15.     $rs = startQuery($sql);
  16.     $cantRegs = mysql_num_rows($rs);
  17.    
  18.     if($cantRegs > 0){ //si existe...
  19.             session_start();  
  20.             $_SESSION["usuario"] = $usuario;
  21.             $_SESSION["autorizado"] = true;
  22.             header("location: index.php?msg=w00k8p");
  23.     }
  24.     else
  25.     {
  26.             header("location: index.php?msg=e01pyus");
  27.     }
  28. ?>
__________________
@vindt89
  #3 (permalink)  
Antiguo 14/08/2012, 15:36
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: Problema con login.

http://php.net/manual/es/security.da...-injection.php
http://stackoverflow.com/questions/3...nsitive-select
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #4 (permalink)  
Antiguo 14/08/2012, 15:41
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: Problema con login.

jaja que dijiste te van a llover sombrerazos de inyecciones sql no?

http://dev.mysql.com/doc/refman/5.0/...nsitivity.html
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #5 (permalink)  
Antiguo 14/08/2012, 15:50
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: Problema con login.

Primero que nada gracias por responder... ya estoy leyendo lo segundo que mandaste...
Olvidate era sabido que inyecciones SQL por doquier me iban a tirar por la cabeza, lo que preguntaba en realidad es porq me valida el Usuario si lo estoy escribiendo mal, o sea le da true a un usuario mal escrito...
__________________
@vindt89
  #6 (permalink)  
Antiguo 14/08/2012, 16:00
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: Problema con login.

jajaja no le saqueee
algunas dudas:

stas seguro? por que en el ejemplo que pones es por mayusculas y minusculas el asunto , otra cosa es por ejemplo un usuario no existente , por ejemplo admin303

$rs = startQuery($sql); que hace startQuery?
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #7 (permalink)  
Antiguo 19/08/2012, 08:37
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: Problema con login.

Mi problema esta en el momento de loguearse que deja pasar usuario sin importar si escribe sus datos (usr y pass) en minusculas o mayusculas, dps si valida bien si esta o no esta en la BD.

Código PHP:
Ver original
  1. <?php
  2. //functions
  3. function startQuery($query)
  4. {
  5.     @ $link = mysql_connect(SERVER,USER,PASSWORD);  // me conecto
  6.     @ mysql_select_db(CMS); //elijo la base
  7.     @ $rs = mysql_query($query,$link); //hago la consulta: SELECT, INSERT, UPDATE, DELETE (cualquier cosa)
  8.     @ mysql_close($link); //cierro la conexion
  9.     return $rs; //devuelvo la consulta ya ejecutada
  10. }
  11. ?>
__________________
@vindt89
  #8 (permalink)  
Antiguo 19/08/2012, 12:49
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con login.

valida el pass y el user

if($row['pass'] == $_POST['pass'] && $row['user']== $_POST['user'])

$row[] es el resultado de la consulta obtenido por mysql_fetch_array

Etiquetas: mysql, 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 05:21.