Login y Autenticación de Tipos de Usuario - Cómo Evitar SQL Injection con PHP y HTML5

Поділитися
Вставка
  • Опубліковано 28 лис 2024

КОМЕНТАРІ • 128

  • @jesusborges8213
    @jesusborges8213 2 роки тому +8

    Tremendo muchas gracias. había un Prof. en la uni que reprobó a todos por no tener seguridad XD Menos a mi gracias a ti :3

  • @joseramos3135
    @joseramos3135 6 років тому

    EXCELENTE TUTORIAL ME SIRVIÓ MUCHO TIENES UN SUSCRIPTOR MAS.....

  • @rodolf2572
    @rodolf2572 2 роки тому

    que pasa si en una consulta uso prepare y execute con variables ficticias : pero no uso bind param ¿sería vulnerable?

  • @mrmunioz539
    @mrmunioz539 7 років тому +1

    de lo mejor!!!!!!!!
    ya estoy mas que suscrito y con campanita activa :v!!!
    gracias hermano!!!!
    Saludos!!!!

  • @JoseRodriguez-jx1jh
    @JoseRodriguez-jx1jh 6 років тому +6

    Puedes publicar el codgio del login en github?

  • @kevinmedina4681
    @kevinmedina4681 6 років тому +1

    hola LexterXPS, primero que nada muy buenos videos me han servido de mucho. He realizado todo el tutorial y se queda validando, checho la consola y dice complete

  • @randomclips5830
    @randomclips5830 5 років тому

    Excelente tutorial, saludos 🇺🇾

  • @enry7515
    @enry7515 2 роки тому

    Hola, muchas gracias; despejaste muchas dudas.
    Por otro lado, no encuentro en tu canal el video de como armaste tu código HTML y CSS.
    Saludos

    • @aaronramirez9127
      @aaronramirez9127 2 роки тому

      el unico que no esta es el css lo demas lo consigues escribiendolo tu, el css esta en su primer de es tutorial, son 3 en total

  • @jeissonalexanderipus8440
    @jeissonalexanderipus8440 6 років тому +3

    me podrías ayudar, se me queda en validación infinita

  • @franciscocuerno1710
    @franciscocuerno1710 7 років тому

    ya replique los dos videos, geniales amigo muchas gracias me has ayudado mucho, me gustaria saber si tenes mas videos pero haciendo una aplicacion con admin lte template de menus

    • @axeljacobo4453
      @axeljacobo4453 6 років тому

      hola me podrias pasar el codigo por favor a mi correo axel.910921@gmail.com, a mi no me funciona el codigo del segundo video

  • @jesserelles1937
    @jesserelles1937 5 років тому

    Hola tengo este problema al momento de enviar los de usuario y contraseña el login se queda validando... pero solo pasa cuando ingreso usuarios y contraseña correctos en los incorrectos me aparece el mensaje diciendo que el usuario y contraseña son incorrectos

  • @FrutosoYT
    @FrutosoYT 2 роки тому

    Eso sirve para evitar que te doxxen?

  • @snakeeyes237
    @snakeeyes237 4 роки тому

    Muchas gracias, me sirvió bastante!

    • @LexterDev
      @LexterDev  4 роки тому +1

      Con gusto. Qué bueno que te haya servido. Un saludo 😁.

  • @victorrevelo8222
    @victorrevelo8222 5 років тому

    amigo por si solo el real_escape_string es capas de eliminar los caracteres especiales que son enviados al servidor?

  • @edyvideosnice
    @edyvideosnice 3 роки тому

    Hola bro todo perfecto no me manda ningun error, solamente que en cosola dice.
    complete
    XHR finished loading: POST " direccion de mi codigo en el servidor localhost"
    Y no me carga a la pagina de admin. Alguna recomendacion?

  • @juancarloslesmesducuara1239
    @juancarloslesmesducuara1239 3 роки тому +1

    1:44 mi mente explota

  • @christiancruz5356
    @christiancruz5356 4 роки тому

    Como hacer que solo se pueda tener una unica sesion por usuario? Es decir, no multi login.

  • @luisenrique6564
    @luisenrique6564 Рік тому

    una consulta, ese ' or'1'=1 si lo pongo en la url del sitio web, tambien podría ocacionar injection sql ??

    • @LexterDev
      @LexterDev  Рік тому

      No, porque la petición el formilario se envía por medio de método POST, en la URL es otra cosa.

    • @luisenrique6564
      @luisenrique6564 Рік тому

      @@LexterDev gracias por aclarar, una ultima consulta, por la url del sitio web, como pueden acceder ? quizas pienso yo con un csrf, xss ?

  • @jhonsereyes5592
    @jhonsereyes5592 5 років тому

    Osea que si uso opera mini puedo poner ese código en el campo de password y tendría el acceso de igualmenera ya que no soporta el pattern

    • @LexterDev
      @LexterDev  5 років тому

      No, porque para eso también se usa seguridad del lado del servidor. Saludos :)

  • @orgeweb
    @orgeweb 5 років тому +1

    Hola LexterXPS
    , muchas gracias por los vídeos. Están genial y me han servido de mucho. Solo tengo una consulta, ¿cómo se haría para poder hacer el login con un password que está encriptado, por ejemplo con sha1, en la base de datos? He probado en el archivo login.php y que la variable $pas sea un sha1(post) pero no funciona. En cualquier caso, gracias.

    • @LexterDev
      @LexterDev  5 років тому

      Pues sólo debes comparar la cadena sha1 convirtiéndola en sha1 al momento de consultar. SHA1($_POST['password'])

    • @orgeweb
      @orgeweb 5 років тому

      @@LexterDev Muchas gracias por tu rápida respuesta. El caso es que no me funciona. He probado dos opciones en el login.php:
      1) $pas = $mysqli->real_escape_string(sha1($_POST['passlg'])); y no va, incluso eliminando el real_escape_string
      2) Y la segunda forma, dejando $pas como está, sin el sha1, y crear una variable $pass = sha1($pas); y en $nueva_consulta->bind_param('ss',$usuario,$pass) pero tampoco me funciona.
      Mil gracias si puedes responderme, es para un trabajo que tengo que entregar!!!

  • @MicaeladeLeon
    @MicaeladeLeon 7 років тому

    hola, te hago una consulta, hice el codigo tal cual lo tenes vos... nada mas que con mis datos de conexion a mi base de datos... pero me tira 'HTTP ERROR 500' y no puede accederse a la pagina... como puedo saber de donde proviene el error??

    • @LexterDev
      @LexterDev  7 років тому

      Ese error es de servidor bro, no es problema del código. Revisa que tu servidor tengas las extensiones necesarias para trabajar con este código, porque parece ser que no. Saludos

  • @ajbssb
    @ajbssb 6 років тому

    Muy buen tuto! Sirve!

  • @gabitobregante
    @gabitobregante 7 років тому

    Hola nuevamente gracias por tus tutoriales, me podrás sacar una duda, el archivo login.php necesita protegerse verificando inicio de sesión al igual que los index de usuario y admin? por ejemplo para que al escribir en la barra de direcciones: main_app/login.php redireccione en caso de no haber iniciado sesión? Gracias y Saludos!!!

    • @LexterDev
      @LexterDev  7 років тому +1

      Si bro. Eso lo hago en la tercer parte. La puedes buscar en mi canal😋

    • @gabitobregante
      @gabitobregante 7 років тому

      Gracias, justamente a eso me refiero después de haber seguido el tercer video, quedan protegidos los directorios Usuario y Admin, pero me refiero al archivo login.php propio. Si escribis: main_app/Admin retorna perfecto pero no si escribis main/login.php. Ahi es donde se muere el servidor. El propio archivo login.php tiene solo session_start(); pero no tiene la validacion if(isset($_SESSION['usuario'])){.... como los index.php. Espero haberme explicado.

    • @LexterDev
      @LexterDev  7 років тому

      O sea que tu tienes el index y el login en archivos separados, según entiendo no? En ese caso sería lo mismo en ambos archivos, para saber si ya se ha iniciado sesión bro. :)

    • @gabitobregante
      @gabitobregante 7 років тому

      como esta ahí en el tutorial, Index es un archivo con el formulario, y login.php es el acceso a la bd, en ese archivo no hay restricción con sesion.

    • @LexterDev
      @LexterDev  7 років тому +2

      Aahhhh nooo, en ese no, pero en login.php se valida que sólo si la petición es mediante AJAX, se realizará todo, de lo contrario no. Así que aunque se intente ingresar a ese archivo mediante la URL no serviría nada, sin embargo si quieres hacerlo más seguro aún, puedes validar que si no existe la sesión, pues que lo saque de ahí, y si existe pues que se ejecute el código que está ahora.

  • @leehernandez9646
    @leehernandez9646 7 років тому +1

    Muy Bueno el video algo que me llamo la atención es que las url no muestran la extención de los archivos como hiciste eso

    • @LexterDev
      @LexterDev  7 років тому

      Aaaaaahhh si, bueno en realidad uso WAMP versión 3.x y ya es opcional ponerla por la versión de apache que trae. Saludos

    • @azd2419
      @azd2419 6 років тому +1

      basicamente el WAMP crea un htaccess que hace que las urls sean amigables... puedes buscar como crear un .htaccess a mano para hacerlo

  • @alexannder15
    @alexannder15 6 років тому

    Muchas gracias bro!

  • @gonzopg69
    @gonzopg69 7 років тому

    Hola que tal LexterXPS saludos, ya he aplicado los cambios que realizas en el vídeo en mi código pero, ni en consola me muestra un error solo se queda Validando? ya revise y pues nada más no le encuentro el error,
    esto es lo que muestra
    >Object {error: true} jquery-3.2.1.min.js:2
    complete
    Gracias .

    • @LexterDev
      @LexterDev  7 років тому

      Al parecer el error es del lado del archivo php bro. Por eso se queda así.

  • @enriqueatala2567
    @enriqueatala2567 2 роки тому

    muchas gracias, solo agregaria algo que tal vez sea útil. Si alguien intenta hacerlo, sabemos que utilizará para ingresar con 'or '1'='1, podriamos guardar algo para saber de donde vino el intento?

    • @pablo94371
      @pablo94371 2 роки тому +1

      que tal podrias acceder a la geolocalizacion de quien intenta ingresar y guardar esa geolocalizacion eso en cualquier formulario que uses

    • @enriqueatala2567
      @enriqueatala2567 2 роки тому

      @@pablo94371 claro yo decía poder guardar en una tabla a tal fin, los datos del ataque, digo ip, server, trace, etc y como bien vos sugeriste la geolocalización. Gracias y saludos

  • @ninomory1
    @ninomory1 7 років тому

    Hola amigo muy buenos videos me ha servido mucho para aprender pero tengo un problema cuando estoy en la pagina del usuario hace todo lo que debe hacer pero al presionar la flecha hacia atras del navegador me carda la pagina del administrador, no lo he podido resolver, espero tu ayuda gracias man.

    • @LexterDev
      @LexterDev  7 років тому

      Eso se soluciona en la parte 3 bro, dónde muestro el uso de sesiones para evitar eso, puedes buscarla en mi canal :)

  • @laurabatalla5413
    @laurabatalla5413 4 роки тому

    puedes acceder con url a la carpeta raiz del administrador?

    • @LexterDev
      @LexterDev  4 роки тому

      Sí, siempre y cuando la sesión sea del administrador. Eso lo enseño en el siguiente vídeo donde usamos sesiones, ahí se puede hacer, pero sólo teniendo permiso, puedes buscarlo en mi canal "Uso de sesiones".

  • @ManuelFernandez-zj7bi
    @ManuelFernandez-zj7bi 5 років тому

    Tengo problemas para poder hacerlo funcionar en un servidor con Nginx ¿Es posible que Ajax no funcione en este servidor?

    • @LexterDev
      @LexterDev  5 років тому +1

      Por AJAX no hay problema, se ejecuta en el navegador. Verifica que NGinx tenga soporte para PHP y verifica la versión que sea mínimo 5.5.

    • @ManuelFernandez-zj7bi
      @ManuelFernandez-zj7bi 5 років тому

      Ok muchas gracias. Me están siendo de mucha ayuda tus tutoriales. Seguiré probando a ver donde puede estar el fallo en el código, ya que sí soporta php y tengo la 7.01.

  • @marcosromero5938
    @marcosromero5938 7 років тому +1

    Hola! Estoy haciendo el tutorial y el del primer video me funciona correcto, pero cuando modifico con los cambios de este vídeo, me da error. La linea que me salta el error, despues de buscar y quitar código, es esta: if ($nueva_consulta = $mysqli->prepare("SELECT nombre, Tipo_usuario FROM usuarios WHERE usuario = ? AND clave = ?")){ En la consola el error me dice: login.php 500 (Internal Server Error) jQuery-3.1.1.min.js:4 La linea 4 corresponde a: xhr.send( ( options.hasContent && options.data ) || null ); ¿Por qué puede ser? Estoy ejecutando el código en un servidor, no en el ordenador, ¿puede ser por eso?

    • @LexterDev
      @LexterDev  7 років тому

      El error 500 quiere decir que hubo un problema con el servidor y la petición no se envía o es rechazada. No tiene mucho que ver con el código, sino con el servidor en sí.

    • @marcosromero5938
      @marcosromero5938 7 років тому

      Me ha costado lo mío, pero ya lo tengo! Era porque en mi server no está instalada la librería mysqlnd, por lo que no se puede usar ->get_result. En lugar de eso debo usar bind_result y fetch. Una vez adaptado el código funciona perfectamente.

    • @LexterDev
      @LexterDev  7 років тому +1

      Ahh genial bro, el problema en efecto estaba en el servidor. Genial que ya lo solucionaste :)

    • @cynthiajaramillo6169
      @cynthiajaramillo6169 7 років тому

      Hola amigo, por favor podrías indicarme como hiciste el arreglo. Resulta que tengo el mismo problema que comentas

    • @coordinaciondeeducacionens6752
      @coordinaciondeeducacionens6752 5 років тому

      @@marcosromero5938 amigo en que parte del código utilizas el bind_result y el fetch??

  • @yesidbernal6559
    @yesidbernal6559 6 років тому

    Puedes publicar el código?.......

  • @raulgarza8510
    @raulgarza8510 7 років тому

    Que tal LexterXPS tengo una duda el tu link rel="stylesheet" href="css/main.css" supongo que es todo tu estilo de tu proyecto, cierto? y por que mi error no se oculta, siempre que recargo mi pagina esta presente el error y no se como esconderlo

    • @LexterDev
      @LexterDev  7 років тому

      REvisa que el div tenga la clase "error" y que en el css, esa clase tenga un display: none.

    • @raulgarza8510
      @raulgarza8510 7 років тому

      muchas gracias, te agradezco... excelentes vídeos, en cambio de doy like y me suscribo

  • @sebastianjukioumanaquico2156
    @sebastianjukioumanaquico2156 3 роки тому

    pueden mandar el archivo comprimido por favor

  • @jorgealbertoortegaceja2872
    @jorgealbertoortegaceja2872 7 років тому

    porque no me funciona cuando los datos son correctos, mi consulta tiene un error, le hice la modificación para que mis usuarios puedan entrar con su correo o con el nombre de usuario. esta es mi consulta:
    SELECT name FROM users WHERE (name = ? OR email = ?) AND pass = ?
    pero cuando los datos son correctos ejecuta esta funcion:
    .fail(function(resp){
    console.log(resp.resposeText);
    })
    en lugar de
    .done(function(respuesta){
    console.log(respuesta);
    if(respuesta.error == false){
    location.href = 'layout/index.php';
    }else{
    $('.error').slideDown('slow');
    setTimeout(function(){
    $('.error').slideUp('slow');
    },3000);
    $('.boton').val('Iniciar Sesión');
    }
    })
    y por lo tanto se queda validando aun que las instrucciones ya se hayan ejecutado

    • @jorgealbertoortegaceja2872
      @jorgealbertoortegaceja2872 7 років тому

      ya encontré mi error le habia cambiado el nombre a una variable

    • @endersonfloriansolano7251
      @endersonfloriansolano7251 6 років тому

      Hermano debes tener en cuenta esto, no te recomiendo que tomes el nombre como un identificador para acceso, porque pueden tener dos usuario el mismo nombre entonces esto puede entrar en conflicto en la BD y la comparacion de usuarios, tienes que buscar un campo donde el identificador sea unico, me gusta la idea del correo electronico, te puede pasar que tengas registrado dos pernas con nombre juan y esto pasa el sistema no podra identificar de cual juan de los dos le dara el acceso y puede pasar que uno de los dos entre el panel que no le corresponda,.
      ten pendiente esta parte

  • @salaxer
    @salaxer 6 років тому +1

    Buenos Videos :)

  • @rajivcampos9940
    @rajivcampos9940 7 років тому

    Interesante vídeo ✌👍

    • @LexterDev
      @LexterDev  7 років тому +1

      Sin duda, es un área que muchos dejan de lado, la seguridad. Saludos bro. :)

  • @TheMj210
    @TheMj210 4 роки тому

    Buenas noches gracias por compartir sus conocimientos... tengo un problema quiza podria ayudarme
    Al momentos de logearme me sale esto
    linea 41 $mysqli->close();
    ?>
    COnsola me muestra esto
    Notice: Undefined variable: mysqli in C:\xampp\htdocs\facturacion\Login_Tutorial\Main_app\login.php on line 42
    Fatal error: Uncaught Error: Call to a member function close() on null in C:\xampp\htdocs\facturacion\Login_Tutorial\Main_app\login.php:42
    Stack trace:
    #0 {main}
    thrown in C:\xampp\htdocs\facturacion\Login_Tutorial\Main_app\login.php on line 42
    main.js:33 complete

    • @LexterDev
      @LexterDev  4 роки тому

      Al parecer la variabale de conexión a la base de datos no está declarada en el script PHP, por eso no la reconoce. Haría que revisar donde está esa variable, y asegurarse que está siendo integrada y/o agregada en el script donde se usa.

  • @21slate24
    @21slate24 3 роки тому

    Para quitarle esa seguridad solo tengo que darle a inspeccionar elemento y borrar eso

  • @mentor96assassins
    @mentor96assassins 7 років тому

    ¿que tipo de datos son en la base de datos?

    • @LexterDev
      @LexterDev  7 років тому

      Qué tipo de datos? no entiendo tu pregunta, si me la explicas mejor para poder ayudarte :)

    • @mentor96assassins
      @mentor96assassins 7 років тому

      si, cuando creas la base de datos en phpmyadmin y creas los campos pones por ejemplo codigo de tipo (int,varchar, etc.) eso quisiera saber, en tu tabla

    • @endersonfloriansolano7251
      @endersonfloriansolano7251 6 років тому

      Para los nombres de usuario utiliza varchar y para la clave igual porque la clave puede tener valores numericos, letras etc, para el tipo de usuario varchar y para el identificador de fila entero

  • @Razo97.
    @Razo97. 7 років тому

    Muy buenos videos bro, el primero me salio perfecto y en este estoy teniendo un problemita, me sale esto en la consola:
    mysqli_stmt::bind_result() expects at least 1 parameter, 0 given in C:\xampp\htdocs\PortalTestPHP\validatelogin.php

    • @LexterDev
      @LexterDev  7 років тому

      Ojo que a bind_result le debes pasar las variables que vas a usar en la sentencia preparada creada anteriormente, al parecer no le estás pasando nada. Si sigues el vídeo, no uso bind_result, sino bind_param .

    • @Razo97.
      @Razo97. 7 років тому

      yo igual estoy usando bind_param, pero cambie el get_result por el bind_result porque no me funcionaba. Actualice el bind_param por el bind result y me da esto Uncaught Error: Cannot pass parameter 1 by reference

  • @valerinsaban7158
    @valerinsaban7158 7 років тому

    Amigo, como hago esa "notifiacion" que muestran al logearse incorrectamente.

    • @LexterDev
      @LexterDev  7 років тому

      Eso lo muestro en la parte 1 bro, ahí está el código HTML y el CSS en la descripción de ese vídeo :)

    • @valerinsaban7158
      @valerinsaban7158 7 років тому

      Oh, SUPER! gracias :) muy buenos vídeos! Saludos.

    • @LexterDev
      @LexterDev  7 років тому

      Saludos bro :)

  • @diegojavieralvaradosarango9569
    @diegojavieralvaradosarango9569 7 років тому

    Muy buen video, pero tengo un error, seguí paso a paso tus videos pero no puedo ni agregar una imagen y eso que me descargue el archivo css que subiste y bueno el segundo problema es que a la hora de validar si lo hace, pero el problema que tengo es en main.js que no me redirige a las paginas tanto de admin como la de usuarios, sale el error que la direccion login/main_app/Admin no se encuentra en el servidor. Ayudame porfa

    • @LexterDev
      @LexterDev  7 років тому

      Agregar una imagen? Dónde o cómo? Y con lo otro, revisa las rutas, si te dice eso es porque está mal alguna de esas.

    • @diegojavieralvaradosarango9569
      @diegojavieralvaradosarango9569 7 років тому

      Porfa, me puedes pasar tu proyecto porfa al correo djalvarados@gmail.com. Gracias de antemano por tu apoyo

  • @nachitoespinoza2163
    @nachitoespinoza2163 5 років тому

    Ahi sigues hice todo paso a paso y me manda un error me podrias ayuadar ese es el error
    Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW) in C:\xampp\htdocs\Login_Tutorial\Main_app\login.php on line 6
    la ninea 6 es esta
    $mysqli=>set_charset('utf8');
    solo se queda validando

    • @comunidadshop
      @comunidadshop 5 років тому

      ES $mysqli->set_charset('utf8'); // como el error indica estas utilizando Doble fecha => y se usa Fecha simple ->

    • @andresarredondo2762
      @andresarredondo2762 5 років тому

      Es guion, no un igual: $mysqli -> set_charset('utf8');

  • @gustavoesquivel4680
    @gustavoesquivel4680 7 років тому +1

    excelente video amigo gracias, el codigo para poder verlo lo podras poner para descargar

  • @albertocorona1815
    @albertocorona1815 6 років тому

    De maravilla aplausos...........Bro si agrego a mi base de datos 2 usuarios con las mismas contraseñas pero lo único que cambia es la primera letra mayúscula del usuario y los tipos de usuario ejemplo: 1.- usuario:alberto, contraseña:123 y tipo_usuario Admin 2.-usuario: Alberto, contraseña:123 y tipo_usuario:Usuario. no me deja lograr y me lanza el mensaje de datos no validos. es parte de la seguridad que se aplico? o en mi código hay un error?
    Saludos, en verdad eres un Master.

    • @LexterDev
      @LexterDev  6 років тому

      Debes revisar, te sugiero que para ese caso. hagas que la validación del login sea Case Sensitive, basta con que le agregues a la consulta SQL WHERE BINARY... a cada campo de la cláusula WHERE.

    • @vhgalvez
      @vhgalvez 6 років тому

      publica el codigo porfavor

  • @carlosarriero848
    @carlosarriero848 6 років тому

    hola se queda verificando no hacen el login se me puedes apoyar, ya cheque los comentarios anteriores

    • @endersonfloriansolano7251
      @endersonfloriansolano7251 6 років тому

      Veo un error en tu código, tu codigo en la variable $dato( $dato = $resultado->fetch_assoc(); -----------> debes colocarlo de esta manera $datos = $resultado->fetch_assoc(); ------------> te falto esa letra) cuando haces referencias en $datos['Tipo_usuario'])); te da error porque no reconoce esa variable porque para el no existe, que no tiene datos por eso da un error debe quedar de esta manera
      if($resultado->num_rows ==1) {
      $datos = $resultado->fetch_assoc();
      echo json_encode(array('error'=> false,'tipo'=> $datos['Tipo_usuario']));
      }else{
      echo json_encode(array('error'=> true));
      }
      espero que te ayude hermano, si te ayudo me dejas saber y si no también espero tu respuesta

  • @fernandoarreolasandoval9987
    @fernandoarreolasandoval9987 6 років тому

    Deberías subir los archivos php y js, me sale error en
    login.php, que mwsqli no está definido, no lo encuentra, y entra directo al fail, aparte de que no muestra el mensaje de error en la parte superior :c

    • @LexterDev
      @LexterDev  6 років тому

      Pues el error te está diciendo lo que pasa bro. El objeto mysqli no está definido, revisa el archivo de conexión y revisa si los nombres están bien escritos. El mensaje superior no va a aparecer habiendo errores así.

    • @fernandoarreolasandoval9987
      @fernandoarreolasandoval9987 6 років тому

      LexterXPS Gracias.
      La verdad que no, no entie do por qué no salga bien, lo copié como tal, incluso hoy mismo estuve con mi profesor checandolo y dijo que no habría por qué salir ese error si está bien escrito

  • @techmondiale3425
    @techmondiale3425 7 років тому

    el primero me salio genial y con esta modificación se queda validando y nada,

    • @LexterDev
      @LexterDev  7 років тому

      Si queda así es por algún error en el código bro. Revisa la consola puede que el error esté ahí

    • @techmondiale3425
      @techmondiale3425 7 років тому

      he revisado y nada "profe",
      if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
      require 'conexion.php';
      sleep(2);
      $mysqli->set_charset('utf8');
      $usuario=$mysqli->real_escape_string($_POST['usuariolg']);
      $pas=$mysqli->real_escape_string($_POST['passlg']);
      if($nueva_consulta = $mysqli->prepare("SELECT Nombre, Tipo_usuario FROM usuarios WHERE Usuario = ? AND Password = ? ")){
      $nueva_consulta->bind_param('ss',$usuario,$pas);
      $nueva_consulta->execute();
      $resultado = $nueva_consulta->get_result();
      if($resultado->num_rows == 1){
      $datos = $resultado->fetch_assoc();
      echo json_encode(array('error'=>false,'tipo'=> $datos['Tipo_usuario']));
      }else{
      echo json_encode(array('error'=>true));
      }
      $nueva_consulta->close();
      }
      }
      $mysqli->close();
      ?>

    • @LexterDev
      @LexterDev  7 років тому

      Revisaste la consola? Si hay un error ahí te lo va a mostrar bro

    • @techmondiale3425
      @techmondiale3425 7 років тому

      me salio este error en la consola
      Fatal error: Call to undefined method mysqli_stmt::get_result() in C:\VertrigoServ\www\sutetech\logiprincs\login.php on line 11 y aquí se queda validando... y nada.

    • @LexterDev
      @LexterDev  7 років тому

      Ese error es porque no tienes instalada la extensión mysqlnd en el servidor. Prueba usando bind_result() en lugar de get_result()

  • @GUillermoCandarabe2
    @GUillermoCandarabe2 6 років тому

    buen video amigo,pero me sale este error, por favor ayudame
    Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\ControlEscolarUTC\Usuarios\login1.php on line 19

    • @LexterDev
      @LexterDev  6 років тому

      Ese es un error por una mala concatenación, hay una comilla sin cerrar bien, puede ser por eso. Revisa.

  • @comentsization
    @comentsization Рік тому

    Tomando en cuenta que este vídeo tiene 6 años a este momento, la lógica pierde validez en la password ya que sí es válido poner un caracter para que a contraseña sea más fuerte. Por lo cual el SQL injection no se checa en el cliente, si no que en el servidor o back-end, con query parametrizadas, en php con las funciones input_get o input_post en vez de $_GET o $_POST. Saludos
    pd: si utilizan Laravel o variantes, o cualquier otro framework PHP esto viene por defecto protegido para SQL Injection, pero no quita que siempre tengas q tener mucho cuidado.

    • @LexterDev
      @LexterDev  Рік тому +1

      Hola, sí tienes toda la razón. Grabé este video hace ya bastante tiempo y ahora hay muchas y mejorares herramientas para desarrollo. Sin embargo, muchas personas prefieren no hacerlo y dejan de lado la seguridad de las aplicaciones.

    • @comentsization
      @comentsization Рік тому

      @@LexterDev te confiezo q mis primeras aplicaciones en PHP era SQL injectables, hasta q no lo vives no lo sientes jajaja saludos.

  • @jeissonalexandercortes6917
    @jeissonalexandercortes6917 7 років тому

    Hola me aparece este error en la consola al ejecutar :
    Fatal error: Call to a member function close() on null in C:\xampp\htdocs\Secure_Mining\Main_app\login.php on line 33
    main.js:38 complete
    me podrias ayudar o dejar un link con el archivo login.php
    Gracias

    • @jeissonalexandercortes6917
      @jeissonalexandercortes6917 7 років тому +1

      ya descubri la falla:
      debe quedar el if igual a este
      if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')

    • @LexterDev
      @LexterDev  7 років тому +1

      Ok bro, genial :)

    • @jeissonalexandercortes6917
      @jeissonalexandercortes6917 7 років тому

      Muchas gracias excelentes tutoriales

    • @arkinooss
      @arkinooss 7 років тому

      Tenia el mismo error solo copie y pegue tu liga y ya quedo :) Thanks!!!

  • @nachitoespinoza2163
    @nachitoespinoza2163 5 років тому

    oye

  • @thewhitehathacker5638
    @thewhitehathacker5638 4 роки тому

    Lol :v pero si no lo cambio desde los documentos no afecta o si?

    • @LexterDev
      @LexterDev  4 роки тому

      A qué te refieres exactamente bro?

    • @thewhitehathacker5638
      @thewhitehathacker5638 4 роки тому

      @@LexterDev ejemplo una pagina x debil a sql injection y ya cambie el password a text pero no jala :v y probe usando usuario real pero que pasa por que no jala?

  • @fernandoarreolasandoval9987
    @fernandoarreolasandoval9987 6 років тому

    Podría contactarte por facebook para mostrarte capturas de cómo lo tengo?

    • @LexterDev
      @LexterDev  6 років тому

      Dale, en la descripción del vídeo está el fb. Manda un inbox y me dices.

  • @drdxter2110
    @drdxter2110 7 років тому

    compoartan el codigo

  • @chiconelpepapasito2366
    @chiconelpepapasito2366 5 років тому

    ¿Amigo hazme este favor, has un video de sql injection con php o mysql y tengo 40 cuenta y me sub y te doy like? si va