| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

17-06-2009, 10:27
|
|
_mil28
Registrierter Benutzer
|
|
Registriert seit: Jan 2006
Beiträge: 89
|
|
erst escape, dann encode - oder umgekehrte Reihenfolge
hi,
ich bearbeite Formulareingaben und möchte sicherstellen, dass die Daten
a) escaped sind bevor sie in die DB geschrieben werden
b) utf8-encoded sind
Zur Info, escapen mach ich mit mysql_escape_string() und encoden mit utf8_encode() wenn mir mb_detect_encoding() sagt, dass ich Daten bekomme, die nicht utf8-encoded sind.
Ich frage mich gerade welche Reihenfolge da sinnvoll ist - erst escapen, dann encoden oder umgekehrt?
|

17-06-2009, 10:40
|
|
deedee
Registrierter Benutzer
|
|
Registriert seit: Jun 2009
Beiträge: 80
|
|
Man sollte grundsätzlich das komplette Projekt auf utf-8 umstellen (Header, DB-Tabellen, Formular, ...). Dann stellt sich diese Frage nicht mehr, weil man ein utf8_encode() dann nicht mehr benötigt.
Statt mysql_escape_string() solltest du übrigens mysql_real_escape_string() verwenden.
Geändert von deedee (17-06-2009 um 10:42 Uhr)
|

19-06-2009, 13:49
|
|
pascal007
Registrierter Benutzer
|
|
Registriert seit: Jul 2006
Beiträge: 255
|
|
Und zusätzlich zum mysql_real_escape_string() würde ich noch strip_tags() empfehlen.
|

19-06-2009, 14:01
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von pascal007
Und zusätzlich zum mysql_real_escape_string() würde ich noch strip_tags() empfehlen.
|
Das würde ich nicht tun - im Gegenteil, eher dringend davon abraten.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

19-06-2009, 14:11
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Zitat:
Zitat von wahsaga
Das würde ich nicht tun - im Gegenteil, eher dringend davon abraten.
|
Warum?
|

19-06-2009, 14:15
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Weil dann alle vom FCKEditor(nur ein Beispiel) gelieferten Daten kaputt gehen
|

19-06-2009, 14:16
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Zitat:
Zitat von combie
Weil dann alle vom FCKEditor(nur ein Beispiel) gelieferten Daten kaputt gehen
|
Was heißt "kaputt gehen"?
|

19-06-2009, 14:20
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Zitat:
Zitat von unset
Was heißt "kaputt gehen"?
|
Der FCKEditor gibt HTML-Code zurück. Mit strip_tags() entfernt man diesen und die komplette Formatierung geht verloren.
|

19-06-2009, 14:21
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Nagut, dann anders rum....
strip_tags() ist eine Datenmanipulierungs Funktion!
Will man immer alle eingegebenen Daten manpulieren? Wohl nein.
Es ist meist klüger die Daten zu validieren und in Abhängigkeit davon ganz und komplett zuzulassen oder abzuweisen.
Geändert von combie (19-06-2009 um 14:23 Uhr)
|

19-06-2009, 14:21
|
unset
 Moderator
|
|
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
|
|
Oh man, ich Depp. Ich hab die Erwähnung von strip_tags() überlesen und dachte, ihr bezieht euch auf mysql_real_escape …*bin wohl noch vom Mittagessen im Fresskoma ;-)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|