Beitrag von Jurenda (305 Beiträge) am Sonntag, 27.Januar.2002, 23:23.
@Christoph: Security-Problem do's zu mitteilsam :-(
Hallo Christoph:
Ich hab mich jetzt 4 Stunden gespielt und es nicht hingekriegt!
Frage:
Wie kann ich den vollen Zugriff auf eine Datenbank verhindern?
Das Problem ist eigentlich beim Erstellen der Security-Seiten aufgetreten. Ich habe eine Datenbank mit einem anderen Namen als das Template erstellt, weil ich den Namen meiner Datenbank verstecken wollte.
Zugriff auf die Datenbank habe ich auf nur-Lesen eingeschränkt.
do_all "db=..."; ist absolut nicht davon zu überzeugen, dem Anwender lediglich die Liste und die Detailansicht zur Verfügung zu stellen. Die zur Verfügung stehenden Parameter (siehe Doku http://baseportal.de/cgi-bin/baseportal.pl?htx=/hilfe/baseportal/db_help&help=62 reichen einfach nicht aus :-(((
Deine vor langem angegeben Lösung im Forum http://baseportal.de/cgi-bin/baseportal.pl?htx=/baseportal/forum&wcheck=1&Pos=2762.1 ist auch keine vollständige Lösung (siehe unten).
Das <do action=all db=...> ist netterweise so brav und liefert nur Liste und Detail-Ansicht.
ABER: Beide Varianten stellen mir in den Url den Parameter db=datenbankname!
Da kann ich mir den ganzen Aufwand mit Datenbanknamen wie "e4gDRg5Ex" sparen.
Da kann ich mir das Erstellen der Security-Seite sparen, denn mir ist derzeit nicht bekannt, wie ich das Ganze zusperren kann.
Wenn ich nur ein einziges mal db=, $db bzw. $_db nicht gesetzt/überschrieben habe, kann jeder auf alle meine Datenbanken zugreifen, deren NAME BEKANNT wird :-(((
Oh Gott, Christoph, SAG MIR, ICH HAB ETWAS ÜBERSEHEN!
Nicht gangbare Lösungswege:
list; ist nicht dokumentiert, nicht freigegeben, derzeit scheinbar inaktiv.
Das <loop> ist großer Aufwand, es bietet KEINE Funktion fürs Blättern.
do_menu; fürs Blättern hab ich leider noch nicht ganz durchschaut :-(
Nachtrag:
Explizites Setzen/Überschreiben von $db, $_db und $_get{db} hilft hier auch nicht, denn das kümmert sowohl <do action=all...> als auch do_all; überhaupt nicht!
Etwas verzweifelte Grüße von Andreas Jurenda
PS.: Keine Tipps, sondern ausgetestete Lösungen und do_all zusperen ist eigentlich etwas, was wir beide nicht wollen ;-)
PPS.: Die rights_put=-, rights_mod=- und rights_del=- aus der bbeta wären natürlich schön ;-) aber nur, denn das db= aus der Url rauskommt! Das könnte dann so ausschauen (ohne dem "<"):
< do_all "db=test rights_put=- rights_mod=- rights_del=- ", "-db"; # ACHTUNG: so existiert do_all noch nicht!
Antworten
Beitrag von Sander (8133 Beiträge) am Sonntag, 27.Januar.2002, 23:32.
Re: @Christoph: Security-Problem do's zu mitteilsam :-(
Antworten
Beitrag von Jurenda (305 Beiträge) am Sonntag, 27.Januar.2002, 23:48.
Re: @Christoph: Security-Problem do's zu mitteilsam :-(
Hallo Sander:
Danke!
Hm, was meinst Du mit Extralink?
Ich hab das jetzt mal getestet, aber ich kriege bei der Suchen-Funktion immer noch das db=datenbank in den Url.
Geht also auch nicht.
Grüße Jurenda
Antworten
Beitrag von Sander (8133 Beiträge) am Montag, 28.Januar.2002, 08:58.
Re: @Christoph: Security-Problem do's zu mitteilsam :-(
brauchst du die suche? ansonsten könntest du search=no mit einbringen.
Sander
Antworten
Beitrag von Jurenda (305 Beiträge) am Montag, 28.Januar.2002, 10:06.
Re: @Christoph: Security-Problem do's zu mitteilsam :-(
Hallo Sander, guten Morgen.
Danke für Deine Anteilnahme!
Die Problematik ist aber ganz eine andere.
Natürlich kann ich search=no setzen. Dann erstelle ich ein eigenens Formular für die Suche. Dann kommen noch Browse-Buttons dazu. Und dann kann ich es gleich komplett selber programmieren ;-)
Die Tücke steckt im Detail.
Der Ansatz war Security TROTZ Bequemlichkeit.
Dazu ist aber <do action=all> bzw do_all; inkonsistent umgesetzt.
Bei "Alles" gibt es NIE ein db=... in der Url
Bei "Ändern","Löschen","Suchen" gibts es IMMER ein db=...
Beim Rest gibts db=... bei do_all; nur dann, wenn ich hinten drann ein ,"db" dranhänge, damit mein do_all den Parameter db= in die Url stellt.
Herzliche Grüße von Andreas Jurenda
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 28.Januar.2002, 16:52.
Re: @Christoph: Security-Problem do's zu mitteilsam :-(
Ja, das Problem mit do_all für das es (noch) keine schöne Lösung gibt...
Von einem Verstecken des DB-Namen halte ich nicht sehr viel, das ist, naja, eben so eine Art Trick/Augenwischerei (das Geld ist nicht im eigentlichen Panzerwagen, sondern wird in einem normalen PKW auf einer anderen Route transportiert ;-) )... Aber darüber kann man sicher trefflich streiten ;-)
Wie Du ja geschrieben hast, wäre die richtige Lösung die "rights_put/mod/del"-Befehle... Das mit dem "-db" hab ich aber nich verstanden, wozu das überhaupt nötig ist (ausser zum DB-Namen-Verstecken, aber s.o.)
PS: Schöne Grüsse an Sander - schon wieder da? Ging ja schnell (zumindest kam es mir so vor) - wir fahren übrigens erst kommendes WE, weil das Wetter so schlecht war (Regen)...
Antworten
Beitrag von Jurenda (305 Beiträge) am Montag, 28.Januar.2002, 17:11.
Re: @Christoph: Security-Problem do's zu mitteilsam :-(
Das mit dem "Datenbankverstekcen" ist doch nichts anderes als ein Passwort.
Wenn jemand das Passwort erraten kann, dann ist er drinnen.
Wenn jemand den Namen der Datenbank errraten kann, dann ist er drinnen.
Wo ist der "Unterschied", das Problem?
Verzeichnis und Datenbankname ist identisch mit Benutzer und Passwort.
Zum Bispiel:
/jurenda/beispiel/h5Tf4Ed23Hf.htx
oder
Benutzer Jurenda und Passwort fg4Ed5Gh7rd
In beiden Fällen geht es doch darum, eine Zeichenfolge zu nehmen, die niemnand erraten kann :-)
Grüße Jurenda
Antworten