Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.44 KB | None | 0 0
  1. if($_POST) {
  2. if(isset($_POST['username']) AND isset($_POST['password']) AND !empty($_POST['username']) AND !empty($_POST['password'])) {
  3. $username = htmlspecialchars($_POST['username']);
  4. $password = htmlspecialchars($_POST['password']);
  5. $checkbox = htmlspecialchars($_POST['checkbox']);
  6.  
  7. $requ1 = $bdd->prepare("SELECT * FROM users WHERE username = ?");
  8. $requ1->execute(array($username));
  9. $user = $requ1->fetch();
  10.  
  11. if($user) {
  12. if($user['valid']) {
  13. if(password_verify($password, $user['password'])) {
  14. $checkip = $bdd->prepare("SELECT * FROM blockedip WHERE ip = ? AND blocked = 1");
  15. $checkip->execute(array($_SERVER["REMOTE_ADDR"]));
  16. $verifip = $checkip->rowCount();
  17.  
  18. if($verifip == 0) {
  19. if(isset($checkbox) AND !empty($checkbox)) {
  20. $remember = bin2hex(openssl_random_pseudo_bytes(16));
  21. $insertoken = $bdd->prepare("INSERT INTO users (remember) VALUES (?)");
  22. $insertoken->execute(array($remember));
  23. setcookie('remember', $remember, time() + 365*24*3600, null, null, false, true);
  24.  
  25. $checkip = $bdd->prepare("SELECT * FROM blockedip WHERE ip = ?");
  26. $checkip->execute(array($_SERVER["REMOTE_ADDR"]));
  27.  
  28. if($checkip->rowCount() == 1) {
  29. $insertattempt = $bdd->prepare("UPDATE blockedip SET attempt = 0 WHERE ip = ?");
  30. $insertattempt->execute(array($_SERVER["REMOTE_ADDR"]));
  31. }
  32.  
  33. header("location: ../home/home.php");
  34. exit();
  35.  
  36. } else {
  37. $_SESSION['id'] = $user['id'];
  38. $_SESSION['username'] = $user['username'];
  39. $_SESSION['email'] = $user['email'];
  40. $_SESSION['gender'] = $user['gender'];
  41.  
  42. $checkip = $bdd->prepare("SELECT * FROM blockedip WHERE ip = ?");
  43. $checkip->execute(array($_SERVER["REMOTE_ADDR"]));
  44. $verifip = $checkip->rowCount();
  45.  
  46. if($verifip == 1) {
  47. $insertattempt = $bdd->prepare("UPDATE blockedip SET attempt = 0 WHERE ip = ?");
  48. $insertattempt->execute(array($_SERVER["REMOTE_ADDR"]));
  49. }
  50.  
  51. header("location: ../home/home.php");
  52. exit();
  53. }
  54.  
  55. } else {
  56. $error = "Dû aux nombreux essais de connexion, votre ip a été bloquée.";
  57. }
  58.  
  59. } else {
  60. $checkip = $bdd->prepare("SELECT * FROM blockedip WHERE ip = ?");
  61. $checkip->execute(array($_SERVER["REMOTE_ADDR"]));
  62.  
  63. if($checkip->rowCount() == 0) {
  64. $insertip = $bdd->prepare("INSERT INTO blockedip (ip, attempt, blocked) VALUES (?, 1, 0)");
  65. $insertip->execute(array($_SERVER["REMOTE_ADDR"]));
  66. $error = "Mauvais identifiants";
  67.  
  68. } else {
  69. $checkipverif = $checkip->fetch();
  70.  
  71. if($checkipverif['attempt'] >= 10) {
  72. $blockedip = $bdd->prepare('UPDATE blockedip SET blocked = 1 WHERE ip = ?');
  73. $blockedip->execute(array($_SERVER["REMOTE_ADDR"]));
  74. $error = "Votre ip vient d'être bloquée dû à plusieurs essais de connexion !";
  75.  
  76. } else {
  77. $insertattempt = $bdd->prepare("UPDATE blockedip SET attempt = ? WHERE ip = ?");
  78. $insertattempt->execute(array($checkipverif['attempt']++, $_SERVER["REMOTE_ADDR"]));
  79. $error = "Mauvais identifiants";
  80. }
  81. }
  82. }
  83.  
  84. } else {
  85. $error = "Votre compte n'a pas encore été activé !";
  86. }
  87.  
  88. } else {
  89. $error = "Utilisateur inexistant !";
  90. }
  91.  
  92. } else {
  93. $error = "Tous les champs doivent être complétés !";
  94. }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement