Maison > développement back-end > tutoriel php > Comment puis-je inclure en toute sécurité des variables PHP dans les instructions MySQL INSERT ?

Comment puis-je inclure en toute sécurité des variables PHP dans les instructions MySQL INSERT ?

Mary-Kate Olsen
Libérer: 2024-12-30 14:38:14
original
419 Les gens l'ont consulté

How Can I Safely Include PHP Variables in MySQL INSERT Statements?

Inclure une variable PHP dans une instruction MySQL

L'insertion de valeurs dans la table des matières avec une variable PHP dans le cadre de la clause VALUES peut être problématique. Abordons le problème et proposons l'approche correcte.

Utilisation d'instructions préparées

Assurer une gestion correcte des variables PHP dans les instructions MySQL est crucial. La règle principale est d'utiliser des instructions préparées. Remplacez les variables PHP par des espaces réservés dans votre instruction SQL et suivez ces étapes :

  1. Préparez la requête mise à jour
  2. Liez les variables à leur espaces réservés correspondants
  3. Exécuter le préparé déclaration

Implémentation des instructions préparées

Utilisation de MySQLi :

<?php
$type = 'testing';
$reporter = "John";
$description = "whatever";

$sql = "INSERT INTO contents (type, reporter, description) VALUES ('$type', ?, ?)";
$mysqli->execute_query($sql, [$reporter, $description]);
?>
Copier après la connexion

Utilisation de PDO :

<?php
$type = 'testing';
$reporter = "John";
$description = "whatever";

$sql = "INSERT INTO contents (type, reporter, description) VALUES ('$type', ?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute([$reporter, $description]);
?>
Copier après la connexion

Filtrage par liste blanche pour Identifiants

Pour les parties de requête telles que les mots-clés ou les identifiants (noms de base de données, de table ou de champ), utilisez le filtrage par liste blanche. Cela implique de comparer explicitement la variable PHP à une liste prédéfinie de valeurs autorisées. Si la variable correspond à une valeur autorisée, elle peut être incluse en toute sécurité dans la requête. Sinon, lancez une exception pour une entrée non valide.

Conclusion

Le respect de ces directives garantit la gestion sécurisée et efficace des variables PHP dans les instructions MySQL. L'utilisation d'instructions préparées pour les variables représentant les littéraux de données et le filtrage par liste blanche pour les identifiants garantissent l'intégrité des données et la protection contre les attaques par injection.

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
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