Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zur Zugriffsverhinderung auf Apache-Verzeichnisse NUR von Aussen.

Einklappen

Neue Werbung 2019

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

  • Frage zur Zugriffsverhinderung auf Apache-Verzeichnisse NUR von Aussen.


    Hallo Leute,

    ich möchte gerne meine grundsätzlich nicht-öffentlichen Dokumente auf meinen Webserver hochladen.

    Es sollen aber für die Benutzer meiner Webseiten
    nur die Seiten einsehbar sein
    die in einer meiner Webseiten verlinkt sind,

    aber alle Dokumente dürfen von aussen nicht aufgerufen werden können
    und schon gar nicht von Suchmaschinen indexiert werden.

    wie geht das am Geschicktesten ohne jedes einzelne Dokument freigeben zu müssen?



  • #2
    Entweder außerhalb des webroots legen (bevorzugt), oder in ein Verzeichnis und das mit htaccess schützen. Dazu gibts aber auch tonnenweise Infos im Web.
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      danke für die Antwort.

      wo oder wie finde ich die tonnenweisen infos?

      Kommentar


      • #4
        Wie suchst du den sonst so im www?

        Ich gebe in der Suchmaschine meiner Wahl mal ein paar Begriffe ein.. spontan zB:

        https://www.google.at/#safe=off&q=ap...+file+download

        https://www.google.at/search?q=apach...oad+verhindern


        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Zitat von php-nutzer1 Beitrag anzeigen
          aber alle Dokumente dürfen von aussen nicht aufgerufen werden können
          Sobald ein Nutzer Zugriff auf ein Dokument hat, ist es auch von außen aufrufbar. Wirklich schützen kannst du dich daher nur, wenn du das Verzeichnis mit einem Kennwort absicherst oder gar nicht erst im Web-Root platzierst (dadurch sind sie dann von außen aber nicht mehr direkt abrufbar).
          [SIZE="1"]Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.[/SIZE]

          Kommentar


          • #6
            da habe ich mich wohl missverständlich ausgedrückt:

            selbstverständlich sollen die von aussen aufgerufenen Dokumente auch von aussen aufgerufen werden können,
            aber die anderen Dokumente sollen verborgen bleiben.

            ich suche dafür geeignete Methoden.

            Kommentar


            • #7
              Zitat von php-nutzer1
              aber die anderen Dokumente sollen verborgen bleiben.
              Diese dann ...
              Zitat von hausl Beitrag anzeigen
              Entweder außerhalb des webroots legen (bevorzugt), oder in ein Verzeichnis und das mit htaccess schützen. Dazu gibts aber auch tonnenweise Infos im Web.
              The string "()()" is not palindrom but the String "())(" is.

              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                die Antwort hatte ich schon,

                habe aber keinerlei Linixerfahrung.

                erkläre mir doch bitte, wie ich die Dateien ausserhalb des webroots legen kann und sie immer noch über den Webbrowser aufrufen kann?
                Es sind überwiegend pdf- oder doc-Dokumente,
                sie mit einem Klick auf einen Link auf meinen Webseiten herunterladen zu können genügt.

                Kommentar


                • #9
                  wie ich die Dateien ausserhalb des webroots legen kann und sie immer noch über den Webbrowser aufrufen kann
                  Ich meinte damit diese hier:

                  aber die anderen Dokumente sollen verborgen bleiben.
                  Das betraf die verborgenen. So wie du dir das vorstellst wird das nicht gehen.

                  Es sind überwiegend pdf- oder doc-Dokumente,
                  sie mit einem Klick auf einen Link auf meinen Webseiten herunterladen zu können genügt.
                  In ein geschützes (siehe oben) Verzeichnis (oder die DB) geben und über PHP ausliefern und vorher mittels PHP prüfen ob dieser Nutzer das laden darf. Das musst du aber selbst implementieren.

                  Oder so kryptische Dateinamen vergeben, das man die schwer erraten kann. Das ist halt nicht richtig sicher. Ist eine Art "Milchmädchen-Sicherheit"

                  zB
                  Code:
                  bauplan_e-auto_0a4193775e8efae22809d3f4fb6a92bc0c59c1d4.docx
                  The string "()()" is not palindrom but the String "())(" is.

                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar


                  • #10
                    ich sehe noch keine Antwort auf meine Frage.

                    war die so unverständlich?

                    Kommentar


                    • #11
                      Zitat von php-nutzer1
                      Es sollen aber für die Benutzer meiner Webseiten
                      nur die Seiten einsehbar sein
                      die in einer meiner Webseiten verlinkt sind,

                      aber alle Dokumente dürfen von aussen nicht aufgerufen werden können
                      Zitat von hausl in #9
                      So wie du dir das vorstellst wird das nicht gehen.
                      War das so unverständlich?

                      Die Varianten die du machen kannst wurden im Thread oben auch schon beschrieben. Kannst dich ja in die Richtung(en) mal schlau machen was etwas für dich wäre.
                      The string "()()" is not palindrom but the String "())(" is.

                      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                      PHP.de Wissenssammlung | Kein Support per PN

                      Kommentar


                      • #12
                        Was heißt "von außen"?

                        Kommentar


                        • #13
                          ich könnte mir z.B. vorstellen das bei einem Link auf meiner Internetseite
                          mittels php der Zugriff auf denau dieses ein Dokument freigegeben werden könnte,
                          weil php ja noch auf dem Server läuft und somit der Zugriff auf das Dokument ja serverintern abläuft
                          bevor die html-Seite für den Browser zusammengebaut wird.

                          Es gibt doch nichts was es nicht gibt,
                          irgendwie wird das schon gehen,
                          da bin ich schon überzeugt von,
                          wäre auf alle Fälle ja kein Hexenwerk.

                          Kommentar


                          • #14
                            Nur, wenn diese in einem von aussen nicht per HTTP erreichbaren Verzeichnis sind, und du die daher mittels/via PHP auslieferst. Dazu brauchst du eine PHP Datei die das erledigt und das Dokument quasi "durchschleift", denn mit direktem HTTP-Request kommst du dann nicht hin. Habe ich in übrigens in #9 bereits skizziert:

                            Zitat von hausl Beitrag anzeigen
                            In ein geschützes (siehe oben) Verzeichnis (oder die DB) geben und über PHP ausliefern und vorher mittels PHP prüfen ob dieser Nutzer das laden darf. Das musst du aber selbst implementieren.
                            Der direkte Zugriff auf dein Dokument hat mit PHP nichts zu tun, da würde ein direkter Request reichen. Außer (siehe oben) die sind alle in "gesicherten" Verzeichnissen (siehe auch oben) und du lieferst diese direkt mit PHP aus.
                            The string "()()" is not palindrom but the String "())(" is.

                            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                            PHP.de Wissenssammlung | Kein Support per PN

                            Kommentar


                            • #15
                              ich hoffe ganz,
                              einen noch für mich praktikableren fertigen Vorschlag zu bekommen

                              Kommentar

                              Lädt...
                              X