Ist mysql_real_escape_string() immer noch ein zuverlässiger Schutz gegen SQL-Injection?

Susan Sarandon
Freigeben: 2024-11-11 16:31:03
Original
625 Leute haben es durchsucht

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

Bewertung der Integrität von mysql_real_escape_string()

Es wurden Bedenken hinsichtlich der Zuverlässigkeit von mysql_real_escape_string() beim Schutz von Datenbankabfragen vor SQL-Injection-Angriffen geäußert . Kritiker verweisen auf ältere Artikel, die auf mögliche Mängel in der Fähigkeit der Funktion hinweisen, angemessenen Schutz zu bieten.

MySQL-Dokumentation

Die MySQL-C-API-Dokumentation für mysql_real_escape_string() erkennt diese Bedenken an:

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.
Nach dem Login kopieren

PHPs Gegenstück

In PHP funktioniert mysql_set_charset() auf ähnliche Weise wie MySQLs mysql_set_character_set() und dient als PHP-Gegenstück.

Proofcode

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

// Set encoding
mysql_set_charset('utf8');

// Escape string with correct encoding
$escaped_str = mysql_real_escape_string($str);
Nach dem Login kopieren

Durch die Verwendung von mysql_set_charset() zum Ändern der Codierung vor der Verwendung von mysql_real_escape_string() stellen Sie sicher, dass der Zeichensatz korrekt eingestellt ist und die Funktion wie vorgesehen funktioniert. Dies berücksichtigt Bedenken hinsichtlich potenzieller Schwachstellen und ermöglicht mysql_real_escape_string() einen effektiven Schutz vor SQL-Injection-Angriffen.

Das obige ist der detaillierte Inhalt vonIst mysql_real_escape_string() immer noch ein zuverlässiger Schutz gegen SQL-Injection?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage