Advertisement
Guest User

Untitled

a guest
Sep 9th, 2017
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.98 KB | None | 0 0
  1. <?php
  2. session_start();
  3. $message="";
  4. $captcha = true;
  5.  
  6. $con = @new mysqli('localhost', 'root', '', 'system');
  7.  
  8. if(count($_POST)>0 && isset($_POST["vcode"]) && $_POST["vcode"]!=$_SESSION["vcode"]) {
  9. $captcha = false;
  10. $message = "Los caracteres escritos no coinciden con la palabra de verificación. Inténtalo de nuevo.";
  11. }
  12.  
  13. $ip = $_SERVER['REMOTE_ADDR'];
  14.  
  15. //Bloqueamos la ip por un día
  16. $result = mysqli_query($con,"SELECT * FROM failed_login WHERE ip='$ip' AND date BETWEEN DATE_SUB( NOW() , INTERVAL 1 DAY ) AND NOW()");
  17. $row = mysqli_fetch_assoc($result);
  18. //Obtenemos datos para comprar intentos y para resetear intentos por su ultimo fecha.
  19. $failed_login_attempt = mysqli_real_escape_string($con,$row['attempts']);
  20. //Liberamos memoria.
  21. mysqli_free_result($result);
  22.  
  23. if(count($_POST)>0 && $captcha == true) {
  24. $username = mysqli_real_escape_string($con, $_POST["username"]);
  25. $password = mysqli_real_escape_string($con, $_POST["password"]);
  26. $username = htmlentities($username);
  27. $password = htmlentities($password);
  28. $save_passw = sha1($password);
  29. $sql = "SELECT * fROM users where username='$username' AND password='$save_passw' AND active='1' ";
  30. $query = mysqli_query($con, $sql);
  31.  
  32. $rowU = mysqli_fetch_assoc($query);
  33. $UsernamaDB = mysqli_real_escape_string($con, $rowU["username"]);
  34. $passwordDB = mysqli_real_escape_string($con, $rowU["password"]);
  35.  
  36. if($failed_login_attempt <1) {
  37. //Si es su primer intento fallido, incluimos el primer registro en la BD
  38. $con->query("INSERT INTO failed_login (ip,attempts,date) VALUES ('$ip', 1, NOW())");
  39. } else {
  40. if($failed_login_attempt <2){
  41. //En caso de ya estar en la BD, sacamos el valor y agregamos +1
  42. $contador = $row['attempts'] + 1;
  43. $con->query("UPDATE failed_login SET attempts='$contador', date=NOW() WHERE ip = '$ip'");
  44. }
  45. }
  46.  
  47. if (empty($_POST) === false) {
  48. $username = $_POST['username']; $password = $_POST['password'];
  49. if (empty($username) === true || empty($password) === true) {
  50. $message = "Es necesario introducir un nombre de usuario y contraseña";
  51. } elseif ($username != $UsernamaDB) {
  52. $message = "El 'Usuario' que has introducido no coincide. ";
  53. } elseif ($save_passw != $passwordDB) {
  54. $message = "Tu 'Contraseña' introducido no coincide. ";
  55. }
  56. }
  57. }
  58. if(isset($_SESSION["id_user"])) {
  59. header("Location:index.php");
  60. }
  61. ?>
  62. <?php include 'themes/template/header.php'; ?>
  63. <div id="login" class="center">
  64. <div class="container">
  65. <div class="access">
  66. <h2>ENTRE AQUÍ.</h2>
  67. <h1><?php if($message!="") { echo $message; } ?></h1>
  68. <form name="frmUser" action="#" method="post">
  69. <input class="form-one" type="text" name="username" placeholder="username">
  70. <input class="form-one" type="password" name="password" placeholder="Password">
  71. <?php if (isset($failed_login_attempt) && $failed_login_attempt >= 1) { ?>
  72. <br><img src="image.php" id="phoca-captcha"/>
  73. <input name="vcode" type="text" placeholder="Codigo captcha">
  74. <?php } ?>
  75. <ul class="recovery">
  76. <li>
  77. <input class="checkbox-one" type="checkbox" id="brand1" value="">
  78. <label for="brand1"><span></span>Recordarme</label>
  79. <a href="#" class="TransitionEffects">¿Olvidó su contraseña?</a>
  80. </li>
  81. </ul>
  82. <div class="wrapper">
  83. <input class="btnAccess" type="submit" id="button-login" value="INICIAR SESIÓN">
  84. <p class="MaTopForty letter-spacing-one">Registrar Nueva Cuenta <span>→</span> <a class="registeraa" href="#"> ¡Registro gratis!</a></p>
  85. <div class="clear"></div>
  86. </div>
  87. </form>
  88. </div>
  89. </div>
  90. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement