Schutzmechanismus beim Datenbank-Dateisystem (dbfs)

Gesperrt
panti
Beiträge: 40
Registriert: Mi 16. Nov 2005, 20:34
Kontaktdaten:

Schutzmechanismus beim Datenbank-Dateisystem (dbfs)

Beitrag von panti » Mi 21. Dez 2005, 12:30

Hello

Ich muss ein paar Dateien nur für Frontend-Benutzer zugänglich machen. Diese Dateien habe ich im Datenbank-Dateisystem (dbfs) upgeloadet, die Checkbox für den Schutz aktiviert. In einem Artikel erstelle ich einen Link zu einer dieser geschützten Dateien.

Problem: Die Datei ist leider nicht geschützt und kann von jedem abgerufen werden. Der Link ist entsprechend "...?file=dbfs:/<Datei.ext>".

Weiss jemand, was man noch ändern bzw. anpassen muss?

Besten Dank für Eure Antworten.

Gruss,
Pantelis

Martuno
Beiträge: 15
Registriert: Di 20. Dez 2005, 13:45
Wohnort: Zürich
Kontaktdaten:

Beitrag von Martuno » Mi 21. Dez 2005, 19:15

Hallo,

hatte bei mir folgendes Phänomen: im FireFox (wo ich auch das Contenido-Backend offen hatte) liessen sich alle Files downloaden und das Schutz-Häckchen war wie von selbst verwschwunden. Ist dies gar ein (Security-)Bug?!?


Falls Du einen feingranularen Schutzmechanismus auf User/Group-Ebene suchst, nützt Dir vielleicht auch folgendes:
http://www.contenido.org/forum/viewtopic.php?t=10877


Gruss
Martin

DonBender
Beiträge: 24
Registriert: Mi 13. Apr 2005, 03:35
Kontaktdaten:

con_properties

Beitrag von DonBender » So 8. Jan 2006, 18:03

Hallo,

ich saß bis eben vor einem ähnlichen Problem.
Das Schutzhäckchen kann man doch nur bei den DBFS-Dateien anklicken.

Dieses Häckchen und die anderen Felder (außer die Beschreibung) gehören zur Tabelle con_properties.

Bei mir haben sich diese Einstellungen (Schutzhäckchen und Medianame) jedes Mal bei einem neuen Aufruf der Dateiverwaltung in der Tabelle con_properties gelöscht.

Das liegt wohl daran, dass bei jedem neuen Aufruf der Dateiverwaltung eine Anzeige "Keine Dateien gefunden / vorhanden." auftaucht -> Diese Anzeige wird durch die includes.upl_files_overview.php erzeugt.

Hier liegt aber nicht das Problem. Bei dem Aufruf der Datei wird eine Variable $path erzeugt, wo der Anfangswert leer ist.

Dieser Wert wird durch den Funktionsaufruf

Code: Alles auswählen

uplSyncDirectory($path);
an die Datei function.upl.php übergeben und die Funktion uplSyncDirectoriy ausgeführt.

In dieser Funktion werden die Tabellen "upl" und "properties" überprüft.

Code: Alles auswählen

   	
function uplSyncDirectory ($path):
.
.
.
while ($property = $properties->next())
   	{
   		if (!file_exists($cfgClient[$client]["upl"]["path"].$property->get("itemid")))
		{
			$properties->delete($property->get("idproperty"));	
		}
   	}
Diese Abfrage verursacht das Löschen der dbfs:/... - Einträge in der Tabelle con_properties und somit das Schutzhäckchen und co.

Ich hab nun diese Abfrage ein wenig modifiziert (nachdem ich die Ursache in stundenlanger Detektivarbeit gefunden habe).

Code: Alles auswählen

   	while ($property = $properties->next())
   	{
   		if (!file_exists($cfgClient[$client]["upl"]["path"].$property->get("itemid")) && $path != "")
		{
			$properties->delete($property->get("idproperty"));	
		}
   	}
Naja, jedenfalls funktioniert das jetzt mit dem Setzen des Schutzhäckchens und es bleibt auch nach einem erneuten Aufruf der Dateiverwaltung in der Tabelle con_properties bestehen.

Probierts mal aus - und wenn ich eine bessere Lösung habt, einfach reinposten.

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » So 8. Jan 2006, 21:48

Verschoben.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mi 7. Jun 2006, 16:30

Fehler scheint nicht mehr aufzutreten. Geschlossen.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 4. Jan 2007, 00:40

Fehler scheint doch noch aufzutreten, Topic wieder geöffnet.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 25. Jan 2007, 01:32

Wirklich geiler Fehler. Ein Klick auf Upload und alle Properties von dbfs-Dateien sind weg. Das nenne ich effektiv.

Fix ist im Prinzip wie beschrieben, jedoch würden dann die Dateien direkt in Upload nicht mehr überprüft. Genaugenommen müssen die dbfs von der Existenzprüfung (in der Funktion uplSyncDirectory) ausgenommen werden:

Code: Alles auswählen

$properties->select("idclient = '$client' AND itemtype='upload' AND type='file' AND itemid LIKE '".$path."%' AND itemid NOT LIKE 'dbfs%'");
Zum Checkin vorgesehen.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Di 30. Jan 2007, 21:10

Done.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Gesperrt