Datenbank Kopie - verhindern



  • hm, über querys kann ich das vermutlich nicht gescheit handeln?! mit "Select * from db" kann ich mir dann die DB auslesen.
    Die Datenbanken sind offen, man kann direkt drauf zugreifen.



  • Ist da wirklich nichts zu machen? PostgreSQL auch nicht?



  • Bei MySQL gibts nen "MAX_QUERIES_PER_HOUR":
    http://dev.mysql.com/doc/refman/5.1/de/user-resources.html



  • eine idee hätte ich vielleicht.

    aber ganz sicher bin ich mir da nicht.

    da fehlen halt auch ein paar infos, wie die db überhaupt genutzt wird.

    aber ein komplettes auslesen würde ja entweder mit (ich gehe jetzt mal von postgres aus) mit pg_dump oder einer reihe von "select * from <table>" passieren.

    diese "select * from <table>" könnte man durch rules auf limitierte selects umbiegen.

    zu einem pg_dump fällt mir leider nichts ein, aber vielleicht greifen da dann ja auch die rules.

    alles ohne gewähr, ist mir nur gerade so eingefallen.

    jenz



  • jenz schrieb:

    eine idee hätte ich vielleicht.

    aber ganz sicher bin ich mir da nicht.

    da fehlen halt auch ein paar infos, wie die db überhaupt genutzt wird.

    aber ein komplettes auslesen würde ja entweder mit (ich gehe jetzt mal von postgres aus) mit pg_dump oder einer reihe von "select * from <table>" passieren.

    diese "select * from <table>" könnte man durch rules auf limitierte selects umbiegen.

    zu einem pg_dump fällt mir leider nichts ein, aber vielleicht greifen da dann ja auch die rules.

    alles ohne gewähr, ist mir nur gerade so eingefallen.

    jenz

    Hört sich interessant an. Wir funktionieren denn "diese "select * from <table>" könnte man durch rules auf limitierte selects umbiegen. "



  • siehe hier:

    http://www.postgresql.org/docs/8.2/interactive/rules.html

    einfach mal durcharbeiten würde ich sagen.

    idee ist, dass du unlimitierte selects wie
    select * from main_table;

    auf so etwas umänderst:

    select * from main_table limit 20;

    das limit kannst du dann natürlich bestimmen.

    jenz



  • Der SQL Server 2005 hat eine Schema-Struktur die Benutzerabhängig ist, eine Idee wäre den Benutzer die Berechtigungen auf Tabellen zuzugreifen zu nehmen und Views für die einzelnen Schemas(en) aufzustellen. Hier könnte man dann auch die Rückgabemenge für die Views im Vorfeld für bestimmte Benutzer beschränken, so dass, egal mit welchen Select-Befehl er deine Datenbank abfragt, nur eine begenzte Anzahl von Datensätze zurück zugeben.



  • hm, mit views?

    dann würde man doch aber nicht auf jeden datensatz zugreifen können, oder?

    create view limited_view as select * from main_table limit 100;

    so?

    dann geht es nicht so gut oder habe ich das falsch verstanden?

    jenz



  • Wenn man auf jeden Datensatz in irgnedeiner Form zugreifen kann, kann man auch mit etwas Aufwand die Datenbank kopieren. Das ist gar nicht verhinderbar - wie auch?!

    MfG SideWinder



  • ja, das sehe ich auch so, aber man muss es ja nicht unbedingt leicht machen, oder?


Anmelden zum Antworten