Maison > base de données > tutoriel mysql > Le « ou mourir » de MySQLi : risque de sécurité ou mal nécessaire ?

Le « ou mourir » de MySQLi : risque de sécurité ou mal nécessaire ?

DDD
Libérer: 2025-01-03 06:17:08
original
736 Les gens l'ont consulté

MySQLi's `or die`: Security Risk or Necessary Evil?

Avez-vous vraiment besoin ou mourez-vous avec MySQLi ?

Il est courant d'utiliser ou de mourir avec des requêtes MySQLi, comme le montre le code ci-dessous :

$update_result = mysqli_query( $link , $sql_update_login ) or die ('Unable to execute query. '. mysqli_error($link));
Copier après la connexion

Cependant, cela présente des inconvénients approche :

  • Risques de sécurité : die peut révéler des informations système sensibles aux attaquants.
  • Confusion de l'utilisateur : Les messages d'erreur peuvent prêter à confusion utilisateurs non techniques.
  • Exécution incomplète : die arrête le script prématurément, laissant utilisateurs sans interface conviviale.
  • Absence d'emplacement de l'erreur : die n'offre aucune indication sur l'endroit où l'erreur s'est produite.

Au lieu de vérifier manuellement les erreurs, envisagez configurer MySQLi pour lever des exceptions en cas d'erreur :

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
Copier après la connexion

De cette façon, n'importe quelle commande mysqli peut être écrite sans avoir besoin de ou die :

$result = mysqli_query($link, $sql);
Copier après la connexion

En cas d'erreur, une exception sera levée, fournissant des informations détaillées sur le problème.

Pour une approche plus approfondie de la préparation, de l'uniformité et de la production rapport d'erreurs efficace en PHP, reportez-vous à l'article sur le rapport d'erreurs PHP.

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:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal