Suppression d'enregistrements dans une base de données
Suppression des éléments avec un script PHP
Quand vous développez un site Web dynamique, ou une application Web en général, vous avez souvent besoin d'y implanter toutes les opéraitons du CRUD (Create, Read, Update et Delete). Or, la modification et, surtout, la suppression sont généralement des actions irréversibles car elles agissent sur l'intégrité des données stockées, et le fait de supprimer un enregistrement accidentellement, ou même à son insu, peut parfois avoir des conséquences désastreuses.
Dans la leçon consacrée à la sécurité des applications Web nous avons vu la vulnérabilité CSRF (Cross Site Request Forgery). Le principe consiste à forger le lien de suppression d'un enregistrement par le pirate et l'envoyer à l'administrateur (ou utilisateur qui détient les droits nécessaires). L'utilisateur exécute alors le lien à son insu, car ce dernier est généralement incorporé à un message que la victime ouvre sans se douter qu'il y a aguille sous roche, ensuite, la suppression survient. Or la suppression accidentelle ne relève pas toujours d'acte de piraterie, car il se peut même que l'utilisateur ligitime clique sur le lien qui ordonne cette opération sans vraiment le vouloir, et si un avertissement ne s'affiche pas avant alors la suppression est effectuée.
Dans cette astuce nous allons voir comment procéder à la suppression d'enregistrements dans une base de données à travers des scripts PHP de manière contrôlée.
Notez que cette méthode telle que je l'ai expliquée n'est pas suffisante pour contrer l'attaque CSRF, mais elle peut apporter un peu plus de difficulté au pirates mal intentionnés.