Maison > développement back-end > tutoriel php > mysql_real_escape_string() est-il toujours une protection fiable contre l'injection SQL ?

mysql_real_escape_string() est-il toujours une protection fiable contre l'injection SQL ?

Susan Sarandon
Libérer: 2024-11-11 16:31:03
original
703 Les gens l'ont consulté

Is mysql_real_escape_string() Still a Reliable Protection Against SQL Injection?

Évaluation de l'intégrité de mysql_real_escape_string()

Des inquiétudes ont été soulevées concernant la fiabilité de mysql_real_escape_string() dans la protection des requêtes de base de données contre les attaques par injection SQL . Les critiques font référence à des articles plus anciens suggérant des failles potentielles dans la capacité de la fonction à fournir une protection adéquate.

Documentation MySQL

La documentation de l'API MySQL C pour mysql_real_escape_string() reconnaît cette préoccupation :

If you need to change the character set of the connection, you should use the mysql_set_character_set() function rather than executing a SET NAMES (or SET CHARACTER SET) statement. mysql_set_character_set() works like SET NAMES but also affects the character set used by mysql_real_escape_string(), which SET NAMES does not.
Copier après la connexion

PHP Homologue

En PHP, mysql_set_charset() fonctionne de la même manière que mysql_set_character_set() de MySQL et sert d'homologue PHP.

Proofcode

<?php
$str = "'mystring'";

// Set encoding
mysql_set_charset('utf8');

// Escape string with correct encoding
$escaped_str = mysql_real_escape_string($str);
Copier après la connexion

En utilisant mysql_set_charset() pour modifier l'encodage avant d'utiliser mysql_real_escape_string(), vous vous assurez que le jeu de caractères est correctement défini et que la fonction fonctionne comme prévu. Cela répond aux préoccupations concernant les vulnérabilités potentielles et permet à mysql_real_escape_string() de se protéger efficacement contre les attaques par injection SQL.

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