00 Stimmen

PHP: Unterschied zwischen htmlspecialchars und mysql_real_escape_string

Frage von Gast | 08.06.2014 um 17:24

Gerade stehe ich ziemlich auf dem Schlauch, was genau der Unterschied zwischen den beiden PHP-Funktionen htmlspecialchars und mysql_real_escape_string ist und in welchem Fall man welche der beiden Funktionen benutzen sollte. Irgendwie scheinen mir die Funktion gerade ziemlich gleich zu sein.

AntwortenPositivNegativ
0Beste Antwort0 Stimmen

Wenn du eine Zeichenkette wie "<p>ABC</p>" ausgeben möchtest, wird das "<p>" und "</p>" normalerweise nicht sichtbar, da diese Zeichen als HTML interpretiert werden. Wenn du solch einen String trotzdem ausgeben möchtest, kannst du dafür htmlspecialchars verwenden. Die Funktion sorgt dafür, dass alle Sonderzeichen wie &, ", ', < und > in HTML Code umgewandelt wird, also &amp; &quot; &#039; &lt; und &gt;. Du solltest htmlspecialchars also für die Ausgabe von entsprechenden Strings nutzen.

Wenn du auf deiner Website Nutzern erlaubst, etwas einzugeben und du anschließend daraus eine MySQL Abfrage generierst, ist es möglich, dass der Nutzer eigene Anweisungen einbaut (SQL-Injection). Dies verhindert die Funktion mysql_real_escape_string, indem sie Zeichen wie \x00, \n, \r, \, ', " und \x1a mit einem Backslash \ versieht. Du solltest mysql_real_escape_string immer verwenden, bevor du möglicherweise unsicheren Daten an MySQL schickst.
09.06.2014 um 20:46

AntwortenPositiv Negativ
Antworten

Ähnliche Themen

PHP: Upload großer Dateien

Tutorial | 0 Kommentare

PHP: Eine E-Mail versenden

Tutorial | 0 Kommentare

PHP: Datei Download Skript

Tutorial | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.