Maison > développement back-end > tutoriel php > Pourquoi l'utilisation de POST pour les mises à jour est plus sûre que les hyperliens

Pourquoi l'utilisation de POST pour les mises à jour est plus sûre que les hyperliens

Barbara Streisand
Libérer: 2024-11-26 18:38:14
original
794 Les gens l'ont consulté

Why Using POST for Updates Is Safer Than Hyperlinks

Lors de la mise à jour d'un enregistrement en PHP, le choix entre utiliser Effectuer des actions (généralement via des formulaires et des méthodes HTTP comme POST ou PUT) ou Hyperliens (qui utilisent généralement la méthode GET) se résume à la sécurité et au meilleur pratiques. Voici pourquoi Effectuer des actions est préférable :


Sécurité

  • GET (Hyperliens) : Les actions déclenchées par des liens utilisent généralement la méthode HTTP GET, conçue pour récupérer des informations et non pour les modifier. Lorsqu'elles sont utilisées pour des mises à jour ou des suppressions, des données sensibles (telles que l'ID de l'enregistrement) peuvent être exposées dans l'URL, la rendant vulnérable aux attaques telles que la manipulation d'URL ou CSRF (Cross-Site Request Forgery).

Exemple problématique :

<a href="update.php?id=123">Update</a>
Copier après la connexion

N'importe qui pourrait manipuler l'identifiant dans l'URL pour falsifier des enregistrements non autorisés.

  • POST (Effectuer des actions) : Les mises à jour doivent utiliser un formulaire avec la méthode POST, où les données sont envoyées dans le corps de la requête plutôt que dans l'URL. Cette approche masque les informations sensibles et rend les manipulations non autorisées plus difficiles, surtout lorsqu'elle est combinée à des mesures de sécurité supplémentaires telles que les jetons CSRF.

Exemple recommandé :

<form action="update.php" method="POST">
    <input type="hidden" name="id" value="123">
    <button type="submit">Update</button>
</form>
Copier après la connexion

Adhérer aux conventions HTTP

Le protocole HTTP a des intentions claires pour chaque méthode :

  • GET : Récupère les informations (idempotentes et sans effets secondaires).
  • POST/PUT : Soumet ou met à jour des informations (non idempotentes et avec effets secondaires).

L'utilisation de GET pour des actions telles que des mises à jour ou des suppressions viole ces conventions et peut dérouter les intermédiaires comme les caches ou les proxys, qui peuvent traiter les requêtes GET comme sûres et sans effets secondaires.


Prévenir les actions involontaires

  • Les hyperliens peuvent être déclenchés involontairement (par exemple, des clics accidentels ou des robots suivant le lien).
  • Un formulaire utilisant POST, notamment avec une étape de confirmation supplémentaire, réduit le risque d'exécution accidentelle.

Compatibilité avec la sécurité et la validation avancées

L'utilisation de formulaires permet une intégration transparente de mesures de sécurité supplémentaires, telles que :

  1. Jetons CSRF : Empêche les requêtes malveillantes d'origine croisée.
  2. Validation des entrées : Validez l'ID de l'enregistrement avant de soumettre le formulaire.
  3. Contrôle des autorisations : Vérifiez les droits d'accès des utilisateurs avant de rendre le formulaire.

Utiliser Effectuer des actions (via des formulaires avec POST ou PUT) pour mettre à jour les enregistrements est l'approche recommandée. Cela garantit une meilleure sécurité, s'aligne sur les conventions HTTP et réduit le risque d'actions accidentelles. Les hyperliens doivent être réservés à la navigation ou aux actions en lecture seule qui ne modifient pas l'état du système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal