Verzeichnis mit php session schützen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Verzeichnis mit php session schützen

    Hallo zusammen

    Wie kann man ein Verzeichnis mittels php schützen?

    Geht das nur mit .htaccess?

    Und wenn ich es mit .htaccess mache:
    - Habe bereits eine PHP Login Session am laufen wie kann ich diese mit .htaccess kombinieren.

    Das Ziel ist es den eingeloggten User den Ordner freizugeben.

    Kann mir da jemand einen Tip geben? Danke

  • #2
    Per .htaccess verhinderst du nur den direkten Zugriff per HTTP - um den Rest muss sich dann dein Script selber kümmern.

    Das ist ein schon vielfach diskutiertes Thema - bitte erst mal suchen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Wie das mit .htaccess geht, findet du z.B. hier. Ansonsten gibt es noch $_SERVER['HTTP_AUTH_USER'] und $_SERVER['HTTP_AUTH_PW']. Da du das aber schon in der Session hast, würde ich in dem Ordner mit einer PHP-Datei arbeiten, die dann einen 401 wirft.

      Peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Danke erstmal,

        stehe noch immer auf dem Schlauch, gibt es also eine reine php lösung ohne htaccess?

        Ich suche noch nach der Lösung mit index.php.....

        Aber wenn ich mit der php-Datei arbeite ist dann auch jede Datei im Verzeichnis sicher oder nur der Zugriff auf den ordner?
        Zuletzt geändert von sepp; 31.03.2011, 17:17.

        Kommentar


        • #5
          Zitat von sepp Beitrag anzeigen
          gibt es also eine reine php lösung ohne htaccess?

          Ich suche noch nach der Lösung mit index.php.....
          Die gibt es nicht. Du kannst zwar die index.php alleine schützen, indem du die Servervariablen abfragst und damit selbst eine Authentifizierung strickst, aber alle anderen Dateien in diesem Verzeichnis sind ungeschützt. Du kannst zwar auch per mod_rewrite alles über diese index.php tunneln, aber dann brauchst du wieder eine .htaccess. Ohne geht es also nicht.

          Gruß,

          Amica
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            Alos wenn du nur ein Verzechnis schützen willst, dass man sonst komplett einsehen kann (imho ein Sicherheitsloch), dann geht das nur über .htaccess. Ansonsten hast du in dem Verzeichnis eine PHP-Datei, die die Login-Session prüft. Wenn die fehlt, sendest du einen 401-Header und beendest das Script. Ansonsten listet die PHP-Datei dann den Ordnerinhalt auf. Den musst du dann per pile_get_contents ausgeben. Dafür solltest du dann mit mod_rewrite arbeiten.

            Peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              O.K. also mit .htaccess!

              Ein einfaches .htaccess um das Verezeichnis zu schützen kenne ich, dort ist ein Benutzername angegebe und im seperaten file .htpasswd das verschlüsselte Passwort.

              Wie kann ich es aber jetzt so umschreiben das wenn die Session die selbe ist wie jene in der DB Userlogin der Zugriff erlaubt ist?

              Kommentar


              • #8
                Zitat von sepp Beitrag anzeigen
                Wie kann ich es aber jetzt so umschreiben das wenn die Session die selbe ist wie jene in der DB Userlogin der Zugriff erlaubt ist?
                Das Ausliefern der Daten machst du über das Script selber - das prüft, ob der Benutzer die Datei lesen darf, und dann schickst du sie ihm per readfile & Co.
                Einen „Passwortschutz“ per .htaccess braucht es dazu nicht, Zugriffe auf die Dateien per HTTP generell zu verbieten, reicht aus.

                Noch mal: Das ist ein bereits zahlreich diskutiertes Thema, informiere dich bitte!
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Zugriffe auf die Dateien per HTTP generell zu verbieten, reicht aus.
                  Meinst du damit das ich die Rechte der einzelnen Dateien auf cmod 600 setzten soll?

                  Und beim Zugriff jeweils die rechte temorär auf 644 setzten soll?

                  Kommentar


                  • #10
                    Zitat von sepp Beitrag anzeigen
                    Meinst du damit das ich die Rechte der einzelnen Dateien auf cmod 600 setzten soll?
                    Nein, per .htaccess mit Allow/Deny & Co. arbeiten.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Nein, du sollst den Zugriff per htaccess verbieten und zwar auf alles außer der index.php. Wenn du die Dateien auf 600 setzt, kann es sein, dass nicht mal mehr PHP darauf zugreifen kann.
                      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                      Super, danke!
                      [/COLOR]

                      Kommentar


                      • #12
                        Nein, du sollst den Zugriff per htaccess verbieten und zwar auf alles außer der index.php.
                        Ah, langsam dämmert es, also kann ich auf die index.php zugreifen und dort die Rechte bzw. die session prüfen und dann ....... sind doch die daten im Ordner noch immer für den Zugriff per htaccess gesperrt oder ?

                        Kommentar


                        • #13
                          Zitat von sepp Beitrag anzeigen
                          sind doch die daten im Ordner noch immer für den Zugriff per htaccess gesperrt oder ?
                          Sind sie, aber nur für den Zugriff über den Webserver, nicht für den Zugriff vom lokalen Dateisystem aus, so wie PHP es machen würde.
                          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                          Super, danke!
                          [/COLOR]

                          Kommentar


                          • #14
                            O.K. das versuche ich umzusetzen - stellt sich nur noch die Frage wie ich die indexdatei vom Zugriffausschluss ausnehme.

                            Sprich im htaccess ist ja folgendes eingetragen
                            AuthUserFile /var/www/web/html/file/.htpasswd

                            Somit sind aber ausnahmslos alle Dateien vom Zugriff verhindert.

                            Kommentar


                            • #15
                              SELFHTML: Webserver/CGI / Webserver / .htaccess - Server-Reaktionen kontrollieren

                              Jetzt ist aber gut. Dir wurde mehrmals gesagt, dass du dich selbst informieren sollst, weil das 08/15-Standard-Lösungen sind, die man überall nachlesen kann, sogar bei Selfhtml.
                              [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                              Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                              Super, danke!
                              [/COLOR]

                              Kommentar

                              Lädt...
                              X