diff --git a/api/.gitignore b/api/.gitignore new file mode 100644 index 0000000..c7d47cc --- /dev/null +++ b/api/.gitignore @@ -0,0 +1 @@ +constantes.php diff --git a/api/README.md b/api/README.md new file mode 100644 index 0000000..9fc1018 --- /dev/null +++ b/api/README.md @@ -0,0 +1,14 @@ +#Configuration + +L'API a besoin d'un fichier de configuration pour se connecter à la base de donnée. Il doit se nommer `constantes.php` et doit contenir les informations de connexion sous la forme suivante : + +```php + +``` diff --git a/api/commun.php b/api/commun.php index d4bf8dc..a2dd652 100644 --- a/api/commun.php +++ b/api/commun.php @@ -1,11 +1,45 @@ close(); + } + exit(); +} + +function donne($parametre) { // Vérifie si le paramètre est donné + if (isset($_POST[$parametre]) && $_POST[$parametre]) { + return $_POST[$parametre]; + } else { + return false; + } } +mysqli_report(MYSQLI_REPORT_ALL); + +// Connexion à la base de donnée +$db = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME); + +if ($db->connect_error) { + retour("erreur_bdd", ["message" => $db->connect_error]); +} + +$db->set_charset("utf8"); + +// Vérification de la présence de bcrypt +if (!defined("CRYPT_BLOWFISH") || !CRYPT_BLOWFISH) { + retour("manque_bcrypt"); +} + + ?> diff --git a/api/connexion.php b/api/connexion.php new file mode 100644 index 0000000..769ff4b --- /dev/null +++ b/api/connexion.php @@ -0,0 +1,30 @@ +prepare("SELECT mdp FROM Utilisateurs WHERE login = ?"); + $requete->bind_param("s", $login); + $requete->execute(); + $requete->bind_result($mdpHash); + if ($requete->fetch()) { + if (!password_verify(donne("mdp"), $mdpHash)) { + retour("identifiants_invalides"); // Mot de passe incorrect + } + } else { + retour("identifiants_invalides"); // Identifiant inconnu + } +} else if (donne("idCarte")) { + // Si l'utilisateur s'authentifie par carte + retour("non_implemente"); // TODO +} else { + retour("requete_malformee"); +} + +retour("ok"); + +?> -- libgit2 0.21.2