Form Submit und bestimmte Zeichen
-
Aktuell folgendes Problem entdeckt.
Ich habe ein eingabefeld.
Die Daten werden per Post an einen weitere PHP übergeben. (Ist aber egal ob POST oder GET)
Schreibt man aber jetzt bestimmte Zeichen z.B. &, ' in das Feld werden die Daten von Post falsch übergeben da sie nicht escaped werden.Das ' ist z.B. auch bei MYSQL wichtig wenn man den Text des Eingabefeldes in einen Sting schreibt der einen MYSQL-Query darstellt. Dadurch ist der Query falsch.
Gibt dazu eine Lösung?
-
Ich weiß jetzt nicht genau, was du suchst
evtl. mysql_escape_string?!
Aber was meinst du mit falsch übergeben?
-
Verbiete doch einfach die Eingabe von solchen Zeichen!
-
Ich schätze mal du bekommst solche Konstrukte wie %0A oder %0E, richtig?
-
Nein bekomme ich nicht.
mysql_escape kennen ich und das ist nicht das Problem. Ich habe auch bereits ´diese Zeichen veboten.Denke jedoch das es ein Großer Fehler von HTML ist, daß man z.B. & nicht verwenden kann.
Im String welcher per POST/GET übergeben wird, ist & ein Trennzeichen für die Parameter. Genauso wie z.B. = .
Im Gegensatz zu = wird & aber nicht richtig geparsed wenn man mit$_GET $_POST die parameter abfragt.
Auch das Eurozeichen wird nicht übergeben.
-
Es gibt doch noch andere Möglichkeiten die Parameter von GET und POST auszulesen...
Hab grad nachgeschaut. Das war $HTTP_GET_VARS[] und $HTTP_POST_VARS[]. Hast du es schon damit probiert?
-
Nein da $_GET Standard ist.
Ich Frage mich allerdings wie das andere machen da die auch nur auf & die Paremeter parsen.
-
Also ich hatte noch nie Probleme mit &,€,',",\,... und verwende $_GET bzw. _POST) aus?
-
Könnte es vielleicht auch am Browser liegen? Hast du da schon mal einen anderen ausprobiert (oder eine andere Version)?