cms.cancel-2fa-pending.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. /**
  3. * Annulation du mode pending pour la double authentification
  4. */
  5. if (core::ifPost("from") and core::getPost("from") == "cancel-2fa-pending") {
  6. $userId = (int) core::getPost("id");
  7. // Vérifier que l'utilisateur annule son propre 2FA pending
  8. if ($userId !== session::getId()) {
  9. alert::recError("Vous ne pouvez annuler que votre propre demande d'activation.");
  10. header("Location: /user.html");
  11. exit();
  12. }
  13. // Vérifier que le 2FA est bien en attente de validation
  14. if (!user::is2FAPending($userId)) {
  15. alert::recError("Aucune demande d'activation en attente.");
  16. header("Location: /user.html");
  17. exit();
  18. }
  19. // Annuler le pending
  20. if (user::cancel2FAPending($userId)) {
  21. historique::recRef("/user.html");
  22. historique::add(array(
  23. "idType" => historique::getIdRef("ACTION"),
  24. "idUser" => session::getId(),
  25. "idPage" => historique::getIdRef("/user.html"),
  26. "log" => "Annulation de l'activation de la double authentification"
  27. ));
  28. alert::recSuccess("L'activation de la double authentification a été annulée.");
  29. } else {
  30. alert::recError("Erreur lors de l'annulation.");
  31. }
  32. header("Location: /user.html");
  33. exit();
  34. } else {
  35. header('HTTP/1.0 401 Unauthorized');
  36. exit();
  37. }