Ordner Rechte 777 durch Script
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
bekommen
code
datei
datum
eingabe
falle
gruppe
http
image
kurzfassung
letzten endes
machen
ordner
pfad
recht vergeben
target
tausche
url
verstehen
verzeichnis
-
Hey,
<?php // http://lokalbook.onpw.de/Gallery/useranmelde.php // http://lokalbook.onpw.de/Gallery/useranmelde.php // http://lokalbook.onpw.de/Gallery/useranmelde.php error_reporting(E_ALL); // Abfragen des Usernamen echo "<form method=\"POST\"> Gib deinen Namen ein: <input type=\"text\" name=\"user\" value=\"\" title=\"Namen eingeben\" /> <input type=\"submit\" name=\"create_folder\" value=\"Ordner erstellen\" /> </form>"; // Ist Button "Ordner erstellen" gedrückt if ( isset ($_POST['create_folder']) ) { // Die eingabe ist leider leer. if ( empty ($_POST['user']) or strlen (trim ($_POST['user'])) == 0 ) { echo "Die eingabe ist leider leer."; } else { // Erstelle Ordner mit Benutzernamen $user = $_POST['user']; if ( preg_match ('/\./', $user) || preg_match ('/\//', $user) ) { // Schutzmechanismus - Könnte man noch verbessern echo "Benutzername ungültig!"; } else { // listet den quellordner in $ls[] $ls = null; $source = "./Galleryplayer/"; foreach ( glob ("$source*") as $f ) {$ls[] = basename ($f);} # exit ("<pre>".print_r ($ls, true)); // erstellt ordner WENN NOETIG if ( !is_dir ($target = "./User/$user/") ) { mkdir ($target, 0755); echo "Ordner: <strong>$user</strong> wurde erfolgreich erstellt!"; // kopiert die daten foreach ( $ls as $f ) {copy ("$source/$f", "$target/$f");} } else { echo "Ordner: <strong>$user</strong> existiert bereits!"; } } } } ?>
..das ist mein Script, könntest mir das einbauen, also ich kann hier dann immer im Textfeld den Namen Tobi eingeben dann legt es den Ordner Tobi an /Gallery/User/Tobi und dann holt es sich die Daten von /Gallery/Galleryplayer in den Ordner /Gallery/User/Tobi aber wie mact dann der Script die Rechte 777?
Machst mir das, also wenn dann ein Ordner hier angemeldet wird, dann bekommen meine bestimmten Ordner die Rechte 777?
Also die Ordner cache, original, large, thumbnail bzw. auch die Datei upgrade_state.php sollen Rechte 777 bekommen.
http://xyz.de/Gallery/Galleryplayer/dfg/resources/[size=10]cache/[/size]
http://xyz.de/Gallery/Galleryplayer/dfg/resources/images/[size=10]original/[/size]
http://xyz.de/Gallery/Galleryplayer/dfg/resources/images/[size=10]large/[/size]
http://xyz.de/Gallery/Galleryplayer/dfg/resources/images/[size=10]thumbnail/[/size]
http://xyz.de/Gallery/Galleryplayer/dfg/app/config/dfg/[size=10]upgrade_state.php[/size]
Gruß Tobi
Beitrag zuletzt geändert: 10.4.2010 22:09:48 von tobitk -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Macht aber doch dann die ganzen Ordner auf 0777 oder macht das was wenn alle auf 777 sind in einem Image Hoster?
Kann man auch irgendwie nur einzelne die Rechte 777 geben und die anderen 755?
Gruß Tobi -
Wenn du dich mit PHP auseinandersetzt, wirst du die Wirkweise schon verstehen. Und das solltest du dringend, wenn du einen Imagehoster machen willst. Alles andere ist nur gefährliches zusammen Geschustere, was letzten Endes in fehlerhaften Scripts mündet und wahrscheinlich gewaltige Sicherheitslücken öffnen wird.
-
@tct
was letzten Endes in fehlerhaften Scripts mündet ...
was letzten endes ein produkt fehlerhafter denkweise ist, der script kann ja trotzdem einwandfrei sein!
@tobitk... Kann man auch irgendwie nur einzelne die Rechte 777 geben und die anderen 755?
tct hat volkommen recht! du sollst nicht danach fragen, sondern selbst verstehen. daher hier eine kurzfassung des nötigsten:
linux ist ein mehrnutzer-system. also muss es möglich sein, den dateizugriff auf einzelne nutzer(gruppen) einzuschränken. datei-zugriffsrechte werden für drei nutzer-gruppen vergeben: owner, group, other; im falle von 0777 ist das volle rechte für alle
die rechte sind:
read; das recht, den dateiinhalt ansehen zu dürfen. für verzeichnisse: sich die liste der dateien und ihrer attribute anzeigen zu können.
write; das recht, den dateiinhalt verändern zu dürfen. für verzeichnisse ist es das recht, dateien anlegen und löschen zu dürfen. hat man das schreibrecht für ein verzeichnis, kann man eine datei auch dann löschen, wenn man bezogen auf die datei keinerlei rechte hat!
execute; markiert eine datei als ausführbar und regelt, wer das programm ausführen darf. bei der programmsuche werden nur solche dateien beachtet, die dieses recht vergeben haben. für verzeichnisse: das recht, in einem pfad benutzt zu werden.
wenn das nicht reich, dann googlen! und entscheiden must DU, wem was erlauben willst. -
Hey,
Joa ok soweit habe ich es verstanden, Danke.
Habe aber nun noch das Problem mit mkdir ($target, 0777); dort macht es alle Dateien auf die Rechte 0777, bräuchte es aber nur an die einzelnen Ordner und Dateien:
http://xyz.de/Gallery/User/Tobi/HP/dfg/resources/cache/
http://xyz.de/Gallery/User/Tobi/HP/dfg/resources/images/original/
http://xyz.de/Gallery/User/Tobi/HP/dfg/resources/images/large/
http://xyz.de/Gallery/User/Tobi/HP/dfg/resources/images/thumbnail/
http://xyz.de/Gallery/User/Tobi/HP/dfg/app/config/dfg/upgrade_state.php <- Datei!
Gruß Tobi -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage