Heim >Datenbank >MySQL-Tutorial >Ist „mysql_real_escape_string()' immer noch sicher gegen SQL-Injection?
Ist mysql_real_escape_string() eine defekte Funktion?
Es wurden jedoch Bedenken hinsichtlich der Wirksamkeit von mysql_real_escape_string() bei der Minderung von SQL-Injection-Schwachstellen geäußert ordnungsgemäße Verwendung. Skeptiker führen veraltete Artikel als Beweis für seine Mängel an.
Kann mysql_real_escape_string() immer noch verwendet werden?
Um diese Frage zu beantworten, vertiefen wir uns in die MySQL-C-API-Dokumentation für mysql_real_escape_string():
"Wenn Sie den Zeichensatz von ändern müssen Verbindung, verwenden Sie mysql_set_character_set(), anstatt SET NAMES auszuführen >Laut Dokumentation beeinflusst mysql_set_character_set() den verwendeten Zeichensatz von mysql_real_escape_string(), im Gegensatz zu SET NAMES. Daher sollten Sie mysql_set_charset() verwenden, um die Kodierung in PHP-Anwendungen zu ändern.
Fazit:
mysql_real_escape_string()Obwohl mysql_real_escape_string() möglicherweise nicht vollständig beschädigt ist, ist dies unbedingt erforderlich Verwenden Sie es in Verbindung mit mysql_set_character_set(), um eine ordnungsgemäße Zeichensatzverarbeitung sicherzustellen und eine mögliche SQL-Injection zu verhindern Schwachstellen.
Das obige ist der detaillierte Inhalt vonIst „mysql_real_escape_string()' immer noch sicher gegen SQL-Injection?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!