


`mysql_real_escape_string()` est-il vraiment sécurisé contre l'injection SQL ?
Dec 02, 2024 pm 04:09 PMRésoudre les défauts de mysql_real_escape_string()
Malgré son utilisation généralisée dans les applications PHP, certains ont soulevé des inquiétudes concernant les vulnérabilités de sécurité de mysql_real_escape_string( ). Cette fonction est conçue pour empêcher les attaques par injection SQL en échappant aux caractères spéciaux dans les entrées utilisateur.
Mysql_real_escape_string() est-il totalement inadéquat ?
La documentation de l'API MySQL C reconnaît un potentiel problème avec mysql_real_escape_string(). Il suggère d'éviter l'utilisation des instructions SET NAMES/SET CHARACTER SET pour modifier le jeu de caractères de la connexion. Au lieu de cela, la fonction mysql_set_character_set() doit être appelée avant d'utiliser mysql_real_escape_string().
Proof Code
La fonction PHP mysql_set_charset() modifie le jeu de caractères utilisé par mysql_real_escape_string (). Ceci est illustré dans l'extrait de code suivant :
<?php // Connect to MySQL and select the database $link = mysqli_connect("localhost", "user", "password", "database"); // Set the character set for the connection mysql_set_charset($link, "utf8"); // Escape the input using mysql_real_escape_string() $escaped_input = mysql_real_escape_string($link, $input); // Use the escaped input in a SQL query $query = "SELECT * FROM table WHERE field = '$escaped_input'";
En suivant cette approche, le jeu de caractères utilisé par mysql_real_escape_string() peut être explicitement défini, garantissant que les caractères spéciaux sont correctement échappés.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Réduisez l'utilisation de la mémoire MySQL dans Docker

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE?

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin)

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape

Comment sécuriser MySQL contre les vulnérabilités communes (injection SQL, attaques par force brute)?

Comment configurer le cryptage SSL / TLS pour les connexions MySQL?
