La suppression de transactions dans une base de données peut entraîner des erreurs critiques si elle n’est pas correctement sécurisée.
Des suppressions accidentelles ou malveillantes peuvent compromettre l’intégrité des données, entraînant des frustrations et des pertes importantes.
Cet article vous guide pour mettre en place un formulaire de suppression sécurisé, intégrant un garde-fou efficace pour garantir la sécurité des transactions.
Réalisez votre projet web de A à Z sous PHP 8
Formulaire de suppression sécurisé
Pour permettre la suppression d’une transaction, vous devez d’abord créer un formulaire de suppression qui permettra à l’utilisateur de confirmer l’action avant de procéder. Voici les étapes à suivre pour mettre en place ce formulaire :
Créer le formulaire de suppression
Le formulaire de suppression doit permettre à l’utilisateur de confirmer la suppression d’une transaction spécifique. Il doit être sécurisé et vérifier que la demande de suppression provient d’une source authentique.
supprimer la transaction
Résultat d’affichage :
En ajoutant ce code HTML à votre page, vous aurez un formulaire qui affiche un bouton « Supprimer » et un champ caché contenant l’identifiant de la transaction. Lorsqu’un utilisateur clique sur le bouton, le formulaire est soumis et la demande de suppression est envoyée au serveur.
Garde-fou pour suppression sécurisée
Pour mettre en place un garde-fou lors de la suppression d’une transaction, vous devez ajouter des mécanismes de protection qui garantissent que seules les requêtes valides et autorisées peuvent entraîner la suppression d’une donnée dans votre base de données.
Objectif du garde-fou
L’objectif de ce garde-fou est de mettre en place un mécanisme sécurisé pour la suppression d’une transaction dans une base de données. Pour éviter des suppressions accidentelles ou non autorisées, on utilise un garde-fou . Ce dernier assure que l’utilisateur confirme son action avant que la transaction ne soit supprimée.
Le processus fonctionne en deux étapes :
- Étape de demande de suppression :L’utilisateur clique sur « Supprimer » pour initier la suppression.
- Étape de confirmation :Avant d’effectuer la suppression, l’utilisateur doit confirmer son choix en cliquant sur un bouton de confirmation.
Explication du garde-fou
Un garde-fou est un mécanisme de sécurité utilisé pour éviter des actions non désirées. Dans le cadre de la suppression de données critiques (comme une transaction dans une base de données), le garde-fou empêche l’utilisateur de supprimer une donnée sans avoir pris conscience des conséquences de cette action.
Ici, le garde-fou est implémenté via une double confirmation :
- Première étape :L’utilisateur clique sur un bouton « Supprimer » qui demande une confirmation.
- Deuxième étape :L’utilisateur doit cliquer sur un bouton « Confirmer » pour valider la suppression.
Code source :
supprimer la transaction
Dans le code HTML/PHP, la syntaxe <?= $transactionID; ?> est une forme abrégée de echo en PHP . Elle permet d’afficher une variable directement dans le HTML. Ici, elle est utilisée pour afficher la valeur de l’ID de la transaction.
- But :Cette ligne insère la valeur de la variable$transactionIDdans le formulaire HTML en tant que champ caché. Cela permet de transférer l’ID de la transaction dans la requête POST lorsque l’utilisateur confirme la suppression.
Explication les détails du code :
Vérification si l’utilisateur a cliqué sur « Supprimer » :
if(isset($_POST['supprimer'])){
Cette condition vérifie si l’utilisateur a cliqué sur le bouton « Supprimer ». Si c’est le cas, on affiche un formulaire de confirmation.
Formulaire de confirmation :
- Si l’utilisateur a cliqué sur « Supprimer », on lui affiche un formulaire demandant de confirmer la suppression.
- Le formulaire contient un bouton « Confirmer » et une balise cachée (<input type= »hidden »>) qui transmet l’ID de la transaction.
- Un lien « Annuler » est également proposé pour revenir à la page des détails du bien sans supprimer la transaction.
Affichage initial du bouton « Supprimer » :
}else{
- Si l’utilisateur n’a pas encore cliqué sur « Supprimer », on lui affiche un simple bouton « Supprimer ».
- Le formulaire transmet à nouveau l’ID de la transaction dans un champ caché lorsque l’utilisateur soumet le formulaire.
Résultat d’affichage :
- Si l’utilisateur clique sur « Supprimer » :
Un formulaire de confirmation apparaît demandant à l’utilisateur de confirmer la suppression ou de l’annuler.
- Si l’utilisateur n’a pas encore cliqué sur « Supprimer » :
Un simple bouton « Supprimer » est affiché pour initier le processus.
Ce mécanisme de double confirmation protège contre les suppressions accidentelles en s’assurant que l’utilisateur confirme son intention avant que l’action ne soit effectuée.
Ce processus empêche les suppressions accidentelles ou malveillantes en filtrant correctement les entrées.
En cas d’erreur, l’utilisateur est notifié avec des messages adaptés.
La redirection après suppression garantit une bonne expérience utilisateur.
Requête SQL DELETE sécurisée
Pour mettre en place une requête SQL de suppression d’une transaction dans la base de données, vous allez utiliser une requête SQL DELETE. Cette requête doit s’assurer que la transaction à supprimer est bien identifiée de manière unique, en utilisant l’ID de la transaction (transactionID).
Voici comment mettre en place la requête SQL de suppression dans un script PHP :
Code source :
prepare($sql);
$req->execute(
array(
'transactionID' => $_POST['transactionID']
)
);
header('location:bien-detail.php?bienID='.$bienID);
}
?>
Résultat d’affichage :
Si l’utilisateur confirme la suppression :
- La transaction est supprimée de la base de données.
- L’utilisateur est redirigé vers la page de détails du bien.
Si l’utilisateur n’a pas cliqué sur « Confirmer » :
- Aucun changement n’est effectué dans la base de données.
Utilisez des tokens CSRF et des sessions pour garantir la sécurité des requêtes sensibles comme la suppression.
Assurez-vous de gérer les erreurs, en cas d’échec de la suppression, et d’afficher un message à l’utilisateur.
Résumé des confirmations suppression
Étape | Description |
---|---|
Mettre en place le formulaire de suppression | Un formulaire initial avec un bouton « Supprimer » est affiché, permettant à l’utilisateur de commencer le processus de suppression d’une transaction. |
Demande de confirmation | Lorsque l’utilisateur clique sur « Supprimer », un nouveau formulaire apparaît avec un bouton « Confirmer » et un lien « Annuler ». Ce formulaire est utilisé pour confirmer ou annuler l’opération de suppression. |
Protection des données | Un champ caché dans les formulaires transmet l’ID de la transaction à supprimer pour garantir l’intégrité des données. |
Garde-fou | Avant la suppression, l’utilisateur doit confirmer son intention. Si la suppression est annulée, il est redirigé vers la page précédente sans aucune action. |
Exécution de la suppression | Si l’utilisateur confirme, une requête SQL sera exécutée pour supprimer la transaction en question de la base de données. |
Tableau 1 : résumé de fonctionnement général du processus de suppression d’une transaction, en mettant en évidence les étapes clés et les mécanismes de protection.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment créer un formulaire de suppression sécurisé ?
Qu'est-ce qu'un garde-fou dans le processus de suppression ?
Comment garantir la sécurité d'une requête SQL DELETE ?
Quels sont les avantages d'une double confirmation pour la suppression ?
Comment gérer les erreurs lors de la suppression d'une transaction ?
Conclusion
En conclusion, la mise en place d’un formulaire de suppression sécurisé est cruciale pour garantir l’intégrité des données. Quelles autres stratégies de sécurité pensez-vous pourraient être mises en œuvre pour renforcer ce processus ?