Post + Anführungszeichen

Status
Nicht offen für weitere Antworten.

JackyD

Erfahrenes Mitglied
Hallo @ all,
ich sende eine SQL Anweisung mit POST zur nächsten Seite. Allerdings werden beim Post die anführungszeichen in der Anweisung escaped. So kann die Anweisung dort nicht wieder verarbeitet werden. Wie kann ich es hinbekommen, dass sie dort nicht escaped werden?
Beim senden:
PHP:
echo '<input type="hidden" name="sql_send" size="500" value="'.$sql_send.'">';
Wenn ich dann den HTML code anschaue steht es dort so:
HTML:
<input type="hidden" name="sql_send" size="500" value="select * from test where ID < '10' limit 15">
Danach wird es so empfangen:
PHP:
 $sql_select = $_POST["sql_select"];
 
 echo '<br>'.$sql_select.'<br>';
Das gibt dann folgendes aus:
select * from test where ID < \'10\' limit 15
und diese Fehlermeldung:
Fehler-Nummer:1064
Fehler-Ausgabe:You have an error in your SQL syntax near '\'10\' limit 15' at line 1
Ich hoffe es kann mir jemand weiterhelfen.
 
[phpf]stripslashes[/phpf] könnte Dir helfen. Allerdings ist das Versenden einer SQL-Anweisung unglaublich gefährlich. Jeder User könnte seine eigene Anweisung senden und somit volle Kontrolle über Deine Datenbank erlangen.

Gruß hpvw
 
Zuletzt bearbeitet:
… auch wenn das Formular per HTTP-POST-Methode versandt wird. Eine eigene HTTP-POST-Anfrage zusammenzubasteln ist einfacher als du wahrscheinlich vermutest.
 
Ok, danke. Das ist nur für mich, läuft also auch nur Lokal, da ist die Sicherheit gewährleistet.
 
Wenn dieses oder (auch ein anderes) Skript auf unterschiedlichen Servern laufen soll, hilft ggf. auch dieser Thread weiter, da nicht jeder Server die Einstellung hat, dass Hochkomma in übergebenen Parametern maskiert werden.

Gruß hpvw
 
Status
Nicht offen für weitere Antworten.
Zurück