kostenloser Webspace werbefrei: lima-city


Ordner Rechte 777 durch Script

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    t****k

    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&uuml;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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. tausche die zeile
    mkdir ($target, 0755);
    gegen
    mkdir ($target, 0777);
    aus
  4. Autor dieses Themas

    t****k

    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
  5. 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.
  6. @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.
  7. Autor dieses Themas

    t****k

    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
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!