Bonjour,
Cette question concerne le développement web en général mais je la pose ici car mon domaine c'est le PHP et je cherche une solution PHP.
Voici le cas:
Dans les formulaires des panneaux d'administration de sites web, pour la modification et suppression d'un enregistrement de données (le compte d'un utilisateur, les commandes, etc), il nous faut en général l'ID de l'enregistrer à modifier ou à supprimer.
Or souvent, l'accès aux panneaux est soumis à des privilèges du genre: consultation seulement ou on n'a le droit de modifier que certains enregistrements ou ... Avant que le code PHP sache de quel enregistrement modifier après la soumission d'un POST, il y a souvent un <input type="hidden" value="XXX" /> pour contenir l'ID de l'enregistrement.
C'est dangereux car il suffirait de changer value par hasard et l'enregistrement correspond est détruit! Souvent aussi l'URL de suppression est facile à deviner du genre delete.php?user_id=XXXX, donc il suffit de faire appel et changer user_id!
Comment les grands sites comme facebook font pour éviter que je modifie le profil d'un autre utilisateur par exemple?
Partager