diff --git a/api/commun.php b/api/commun.php index 06c0824..40ee6fa 100644 --- a/api/commun.php +++ b/api/commun.php @@ -30,13 +30,24 @@ function donne($parametre) { // Vérifie si le paramètre est donné } } +function supprimerJeton($jeton) { + $requete = $db->prepare("DELETE FROM Sessions WHERE jeton=?"); + $requete->bind_param("s", $jeton); + $requete->execute(); + $requete->close(); +} + function verifierJeton($jeton) { global $db, $login, $droit; - $requete = $db->prepare("SELECT Utilisateurs.login, Utilisateurs.droit FROM Utilisateurs JOIN Sessions ON Utilisateurs.login=Sessions.utilisateur WHERE Sessions.jeton=?"); + $requete = $db->prepare("SELECT Utilisateurs.login, Utilisateurs.droit, UNIX_TIMESTAMP(Sessions.date) FROM Utilisateurs JOIN Sessions ON Utilisateurs.login=Sessions.utilisateur WHERE Sessions.jeton=?"); $requete->bind_param("s", $jeton); $requete->execute(); - $requete->bind_result($login, $droit); - if (!$requete->fetch()) { + $requete->bind_result($login, $droit, $date); + if ($requete->fetch()) { + if (time() > $date + JETON_DUREE) { + retour("jeton_expire"); + } + } else { retour("jeton_invalide"); } $requete->close(); diff --git a/api/utilisateur/deconnexion.php b/api/utilisateur/deconnexion.php index 4f3e674..744758b 100644 --- a/api/utilisateur/deconnexion.php +++ b/api/utilisateur/deconnexion.php @@ -11,12 +11,7 @@ if (!donne("jeton")) { verifierJeton(donne("jeton")); -$jeton = donne("jeton"); - -$requete = $db->prepare("DELETE FROM Sessions WHERE jeton=?"); -$requete->bind_param("s", $jeton); -$requete->execute(); -$requete->close(); +supprimerJeton(donne("jeton")); retour("ok"); -- libgit2 0.21.2