Guest User

Untitled

a guest
Jan 17th, 2018
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.65 KB | None | 0 0
  1. <?php
  2. //Conectamos a la base de datos
  3. require('conexion.php');
  4.  
  5. //Obtenemos los datos del formulario de acceso
  6. $userPOST = $_POST["nombre"];
  7. $passPOST = $_POST["pass"];
  8.  
  9. //Filtro anti-XSS
  10. $userPOST = htmlspecialchars(mysqli_real_escape_string($conexion, $userPOST));
  11. $passPOST = htmlspecialchars(mysqli_real_escape_string($conexion, $passPOST));
  12.  
  13. //Definimos la cantidad máxima de caracteres
  14. //Esta comprobación se tiene en cuenta por si se llegase a modificar el "maxlength" del formulario
  15. //Los valores deben coincidir con el tamaño máximo de la fila de la base de datos
  16. $maxCaracteresUsername = "50";
  17. $maxCaracteresPassword = "18";
  18.  
  19. //Si los input son de mayor tamaño, se "muere" el resto del código y muestra la respuesta correspondiente
  20. if(strlen($userPOST) > $maxCaracteresUsername && strlen($passPOST) > $maxCaracteresPassword)
  21. {
  22. die('Los datos exceden la extensión máxima de caracteres.');
  23. };
  24.  
  25. if(strlen($userPOST) > $maxCaracteresUsername)
  26. {
  27. die('El nombre de usuario no puede superar los '.$maxCaracteresUsername.' caracteres.');
  28. };
  29.  
  30. if(strlen($passPOST) > $maxCaracteresPassword)
  31. {
  32. die('La contraseña no puede superar los '.$maxCaracteresPassword.' caracteres.');
  33. };
  34. //Escribimos la consulta necesaria
  35. $consulta = "SELECT * FROM `acopiadores` WHERE nombre='".$userPOST."'";
  36.  
  37. //Obtenemos los resultados
  38. $resultado = mysqli_query($conexion, $consulta);
  39. $datos = mysqli_fetch_array($resultado);
  40.  
  41. //Guardamos los resultados del nombre de usuario
  42. //y de la contraseña de la base de datos
  43. $userBD = $datos['nombre'];
  44. $passwordBD = $datos['pass'];
  45.  
  46. //Comprobamos si los datos son correctos
  47. if($userBD == $userPOST and password_verify($passPOST, $passwordBD))
  48. {
  49. session_start();
  50. $_SESSION['usuario'] = $datos['nombre'];
  51. $_SESSION['estado'] = 'Autenticado';
  52. header("Location:acopiadores.html");
  53.  
  54. //Si los datos no son correctos, o están vacíos, muestra un error
  55. }
  56. else if ( $userBD != $userPOST || $userPOST == "" || $passPOST == "" || !password_verify($passPOST, $passwordBD) )
  57. {
  58. die ('<script>$(".acceso").val("");</script>
  59. Los datos de acceso son incorrectos.');
  60. }
  61. else
  62. {
  63. die('Error');
  64. };
  65.  
  66. <div id="mensaje" style="border:1px solid #CCC; padding:10px; width:400px"></div>
  67. </center>
  68.  
  69. <center>
  70. <div class="container #ffffff white" style="width:300px">
  71. <i class="fa fa-user"></i>
  72. <label for="Usuario">Nombre de Usuario: <i class="material-icons right">assignment_ind</i></label>
  73. <input type="text" name="nombre" id="nombre" class="form-control" style="width:200px;height:15px">
  74. </div>
  75. </center>
  76.  
  77. <div> <img src="img/separate.png" width="250" height="150" alt="Image" class="responsive-img"> </div>
  78.  
  79. <center>
  80. <div class="container #ffffff white" style="width:300px">
  81. <i class="fa fa-lock"></i>
  82. <label for="contra">Contraseña:<i class="material-icons right">lock</i></label>
  83. <input type="password" name="pass" id="pass" class="form-control" style="width:200px;height:15px">
  84. </div>
  85. </center>
  86.  
  87. <center>
  88. <div class="text-center">
  89. <button class="btn indigo accent-4" type="submit" value="submit" name="Validar">Iniciar Sesión<i class="material-icons right">vpn_key</i></button>
  90. </div>
  91. </center>
  92. </form>
  93. </div>
  94. </body>
  95.  
  96. <script>
  97.  
  98. $.ajax({
  99.  
  100. url: "acceso.php",
  101.  
  102. type: "POST",
  103.  
  104. dataType: "HTML",
  105.  
  106. data: formData,
  107.  
  108. cache: false,
  109.  
  110. contentType: false,
  111.  
  112. processData: false
  113. }).done(function(echo){
  114.  
  115. if (echo !== "") {
  116.  
  117. mensaje.html(echo);
  118. mensaje.slideDown(500);
  119. } else {
  120.  
  121. window.location.replace("");
  122. }
Add Comment
Please, Sign In to add comment