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.
Ähnliche Themen
HTML Formular: Weiterleitung abhängig von Radiobutton oder Checkbox
Tutorial | 0 Kommentare
PHP: Aktuelles Datum und Zeit ermitteln
Tutorial | 0 Kommentare
PHP: Formular-Eingaben als Array an PHP Skript schicken
Tipp | 0 Kommentare
PHP: Upload großer Dateien
Tutorial | 0 Kommentare
PHP: Eine E-Mail versenden
Tutorial | 0 Kommentare
PHP: Datei Download Skript
Tutorial | 0 Kommentare
jQuery: HTML5 Canvas mit Ajax an Server senden
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.
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 & " ' < und >. 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