sicheres sql

20/04/2008 - 23:26 von Frederic Luchting | Report spam
Hallo ihr,

ich möchte in meiner Anwendung die Möglichkeit
einbauen, dass Mitarbeiter eigene SQL Ausdrücke
pflegen und ausführen können. Es sind meist
einfache Sachen wie SELECT SUM(netto) usw.

Mit der Sichtbarkeit habe ich keine Probleme
(jeder darf alles sehen) - aber niemand darf
ausversehen etwas an den Daten àndern können.

Reicht es aus, wenn ich eine Transaction mit
Rollback um das Kommando schreibe?
Soll das besser in das SQL geschrieben werden
oder mit einem ADO.NET Objekt gelöst sein?
Kann man das irgendwie austricksen (injection)?

Da ich noch nie mit Transaktionen gearbeitet
habe, wollte ich sicherheitshalber vorher
nachfragen.


Vielen Dank und Gruß

Frederic
 

Lesen sie die antworten

#1 Peter Fleischer
21/04/2008 - 06:44 | Warnen spam
"Frederic Luchting" schrieb im Newsbeitrag
news:%2383$

ich möchte in meiner Anwendung die Möglichkeit
einbauen, dass Mitarbeiter eigene SQL Ausdrücke
pflegen und ausführen können. Es sind meist
einfache Sachen wie SELECT SUM(netto) usw.

Mit der Sichtbarkeit habe ich keine Probleme
(jeder darf alles sehen) - aber niemand darf
ausversehen etwas an den Daten àndern können.
...



Hi Frederic,
ich würde für die Verbindung zum Datenbankserver einfach eine andere Rolle
nutzen, die nur Leserechte hat. Da kannst du dir alle weiteren Gedanken
sparen. Wenn die Mitarbeiter eigene SQL-Anweisungen erstellen und zur
Ausführung bringen, kannst du im Programm selbst festlegen, welche
Verbindungszeichenfolge genutzt wird.

Viele Gruesse

Peter

Ähnliche fragen