PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   CMS - Downloads (http://www.selfphp.de/forum/showthread.php?t=1949)

Odi 14.08.2002 13:15:30

CMS - Downloads
 
Hallo,
da ich - wie viele andere auch (scheint ein Modetrend zu sein...) - ein CMS schreibe, und an einer Stelle festhänge [im Grunde geht es darum Downloadpakete zusammenstellen zu können im Browser, um den Seminaren diese dann zuordnen zu können, an sich kein Problem...]... wie gesagt, der Dateiupload an sich ist nicht das Problem, ich hänge er an einem Konzept für die Sicherheit fest - da ich nur registrierten Kursteilnehmern das downloaden der Materialien erlauben will.

Ich dachte zuerst an eine Lösung dass ich in der htaccess-file auf eine pw.php Verweise, so hätte ich bequem die Passwörter aus der Datenbank hohlen können, doch funktioniert das so (leider) nicht. Nach längerem hin und her (und ein Ausweichen auf alle anderen Bereiche...) bin ich zu einer etwas umständlicheren Lösung gekommen:

Sobald eine Kursgruppe erstellt wird, wird ein Verzeichnis mit der Kursgruppenid angelegt, in diesem wird eine .htaccess file erzeugt die auf eine passwortdatei verweist die ebenfalls irgendwo untergebracht wird. Wird nun ein User für den Kurs freigeschaltet, wird sein Benutzername und sein verschlüsseltespasswort in die Datei via fopen eingetragen. Sollte ein bereits registrierter NUtzer seinen Namen/ sein Passwört ändern wird die pw-datei ebenfalls aktualisiert. Umständlich, aber anders nicht möglich - oder villeicht doch ? =)

Ein anderes Problem ist dass ich den Upload ebenfalls nur temporär ermöglichen will, also mit chmod das Verzeichniss auf 777 setzen, die File uploaden und schleunigst wieder auf 755 umstellen, allerdings spuckt mir chmod ein operation not permitted aus, liegt das am secure-mode vom PHPModul? Gibts da eine andere Lösung (ausser dem Verzeichnis permanent 777 zuzuweisen).

*grübel* irgendwas hab ich vergessen... achja:
Wenn ich Verzeichnisse anlegen lasse werden die von "Nobody" angelegt, tja, und da ich User bin, und nicht Nobody kann ich die Verzeichnisse nicht mehr löschen - a) kann ich via script das Verzeichnis auch wieder löschen? b) gibts eine Möglichkeit dem script zu sagen dass er ein Verzeichnis als "ich" anlegen kann?

Gruß
Odi

Odi 14.08.2002 22:04:09

hat keiner Ideen? *seufz* Ich stecke hier fest... ich will nicht ein Sicherheitsloch in das System bringen indem ich permanent chmod 777 auf die Verzeichnisse anwende...

Ben20 14.08.2002 22:51:11

Leider kenne ich mich mit Dateirechten unter Linux nur begrenzt aus. Ich habe jetzt nachgelesen, dass man mit chown() den Besitzer einer Datei ändern kann. Dafür muß man aber der Superuser sein. Vielleicht hilfts trotzdem was. Zu dem Problem mit dem Ordner und 777 kann ich Dir leider auch nicht weiterhelfen.

SPiC 15.08.2002 07:49:55

Speicher die Materialien doch einfach in einem BLOB-Feld in einer Datenbank ab, so hast Du die Verzeichnistrechte umgangen.

=:-) Sebastian

Odi 15.08.2002 13:20:42

Ein BLOB-Feld... hmm daran hab ich noch gar nicht gedacht alle Materialien in die Datenbank zu packen. Wie sieht denn der code dafür aus? *dass noch nie gemacht hat*

hmm, aber die Idee ist wirklich gut *g*

Nachtrag:
Verflucht, das umschifft alle meine Probleme :-))
Auch wenn es nicht die feinste Lösung ist, aber was soll ich sonst machen? Brauche den code nicht, hab ein gutes Tutor gefunden was das behandelt (und zuerst muss man sich das geleier von wegen ineffizient anhören :-P)

Matt 15.08.2002 22:22:57

das ist nicht gerade das effizienteste, das ganze in einer db zu speichern, vor allem kannst du deine daten so nicht ganz so einfach wieder rauskitzeln, datenbnak braucht ausserdem natürlich länger, als wenn du das einfach in files speicherst und gezielt auf die zugreifst.

Odi 17.08.2002 13:59:39

stimmt schon, naja den content kann ich via header wieder ausgeben, die Perfomance... das ist so eine Sache. Dafür hab ich ein Sicherheitsloch weniger und die ganzen securephp-Probleme umschifft, ausserdem muss ich keine Ordner anlegen (die von mir nicht mehr gelöscht werden können weil ich ja ftpxxx bin, und nicht nobody ;) ).

Matt 17.08.2002 16:06:40

du kannst deine dateien dann ja auf die harddisk cachen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:42:47 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.