Quincunx: Variablenübergabe in ein Javascript

Beitrag lesen

@@Christian

Zum einen mögen MSSQL-db keine „'“, […]
Ich habe zwar nicht die meiste Erfahrung mit MSSQL, aber ich weiß, dass sie unter Verwendung der bekannten Escaping-Mechanismen (MS SQL verhält sich hier Standard-Gemäß, ein ' wird also mit einem weiteren ' escaped: '' ergibt in dem String in der Datenbank hinterher ein einzelnes ') ohne Probleme verwendet werden können.

Apostroph gibt es bei mir nicht in der db.

… Du willst für die Ausgabe eines Werts nach JavaScript extra eine View machen.

Nein. Mein Beispiel habe ich so einfach wie möglich gehalten. Praktisch gibt es so etwas bei mir nicht. Ich hole entweder alle zum Kontext gehörigen Daten aus der db in dem ich angepasste Views verwende oder für AJAX nur eine Teilmenge daraus.

Du wechselst den Kontext, wenn du JavaScript erzeugst. Das bedeutet, sämtliche Steuerzeichen, die in JavaScript in Strings genutzt werden, müssen escaped werden. Selbst wenn ich keine böswilligen Absichten habe kann sonst etwas kaputt gehen: wer sagt schießlich, dass ein Name kein ' enthalten darf?
D.h. du musst, wenn du einen JS-String erzeugst, beachten, dass mindestens ', \ und " escaped werden, damit du das richtige Ergebnis erzielst.

In den Formularen die im public Bereich eingesetzt werden gibt es nur plain-text und bevor etwas in die db wandert validiere und ersetze ich entweder Steuerzeichen (', ", <, >, &) durch HTML-Entities oder äquivalente Char-Codes (’, ”, ‹, ›).

gruesse qx