• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage htmlentities-Sicherung bei Datenbezug aus JSON-Format

StephanBo

Mitglied
Der Interessehalber:

Ich beziehe von einem Anbieter Daten im JSON-Format und will diese in einer DB speichern. Ist es hier erforderlich (um SQL-Injections zu vermeiden), die Variablen mit einem htmlentities-Parameter zu sicher oder ist das nicht nötig, da man der Quelle blind vertrauen kann?

Nach meiner Logik könnte eigentlich nur der Datenbereitsteller der JSON-Inhalte eine SQL-Injection provozieren, wobei man sich fragen muss, warum er das machen sollte. Oder gibt es noch die Möglichkeit, dass die JSON-Daten durch einen Dritten manipuliert werden können?

Würde sich eine pauschale htmlentitie-Deklaration jeder einzelnen Variable "merklich" auf die Performance des Scripts auswirken?
 
Werbung:
htmlentitie könnte nur Vorteilhaft sein, wenn vor der Speicherung eine Ausgabe erfolgt.
Beim Speichern wird ohnedies IMMER wie vom Vorposter verfahren.
 
Werbung:
Ok, aber ist eine SQL-Injection nicht auch mit einer htmlentities-Deklaration auszuschließen? Man codiert doch alle Sonderzeichen in einen HTML-Code und dieser sollte meiner Meinung nach dann keine SQL-Injection ermöglichen?!
 
Habe ich vorher bereits. Und mein Verständnis hierzu:

Würde man z.B. eine SQL-Injection provozieren und nun das benötigte Anführungszeichen (") hierfür verwenden, würde dies nicht zu einer SQL-Injection führen, weil htmlentities aus einem " ein " macht.

Oder liege ich falsch?
 
Werbung:
Ok, ich deklariere dann mal alles mittels mysqli_real_escape_string, wobei immer noch die Frage im Raum steht, ob man prinzipiell bei einer Datenbeziehung via JSON oder XML die Variablen "schützen" muss oder ob das unnötig ist?
 
Was sollte daran unnütz sein, ich kann dir JSON-Daten so übergeben, wie ich möchte.
Bei jeder Speicherung in eine Datenbank sind die Daten zu escapen. Du solltest dir ansehen, was man darunter versteht.
 
Werbung:
Zurück
Oben