Haaallo
In einem Shop muss man typischerweise auch Daten aendern koennen. Kein DROP TABLE aber doch aendern und loeschen einzelner Datensaetze.
Hab ja auch nicht gesagt dass Du in dem Shop ALLE Rechte den Nutzern entziehen sollst - aber Du wirst doch nicht wollen dass ein Shopbenutzer Dein Datenbankschema manipulieren kann, oder ?
Gewiss nicht. Aber wenn er das schafft, hat man bereits beim Design der Software versagt (-; Natuerlich ist kaum eine Software frei von Bugs. Und da ist es gut, wenn es seitens der Datenbank noch einen Sicherheitsmechanismus gibt, der einen da beschuetzt, wo man selbst gepatzt hat. Es ist aber eben auch eine deutliche Limitierung fuer die Einsatzmoeglichkeiten einer Software, wenn man das vorraussetzt. Vielen Website-Besitzer haben nun mal keinen administrativen Zugriff auf die Datenbank.
Wenn Du hier die Rechte in der DB setzt kann zumindest nicht sowas passieren. Ich arbeite Selber mit Oracle welches schon eine sehr feine Rechtezuteilung zulässt :) Aber auch MySQL hat soweit ich mich erinnern kann die Möglichkeit Rechte auf einzelnde Tabellen zu setzen.
Hat es.
Aber wenn Du wirklich "normal JDBC" verwendest und sogar das Passwort noch sichtbar ist kannst Du in der Konfiguration keinen Webshop betreiben. Da kann Dir jeder mässig begabte Hacker die Datenbank zerschiessen. Wenigstens der Login muss unsichtbar sein.
Meine Rede (-;
Inwiefern geben "Foreign Key Constraints" mehr Sicherheit? Ich dachte, die werden zum automatischen Loeschen abhaengiger Datensaetze verwendet?
Wegen der Foreign Key constrainst kann ein User nicht "willkürlich" Daten einfügen die von dem Fremdschlüssel abhängen oder eben Daten löschen welche noch von einer anderen Spalte refernziert werden.
Das ist aber eher eine Restsicherheit. Denn wenn der User es schafft, unbefugt eine Datensatz zu loeschen, dann vielleicht auch einen anderen und jeder ist nicht duch Referenzen geschuetzt.
Seit der 4er Version geht das mit InnoDB. Du musst allerdings Manuell einen Index erstellen auf alle Spalten für die Du FK_Constraints verwenden willst. (ich glaub seit 3.43 - aber die genaue Version weiss ich nicht mehr.
Was ist InnoDB? Bye -- 1 Bodo Kaelberer 123 http://www.webkind.de/ 3 4 Politik ist, wenn viele sich streiten und keiner sich freut.