Ankündigung

Einklappen
Keine Ankündigung bisher.

[Glöst] Verzeichnisschutz ohne htaccess

Einklappen

Neue Werbung 2019

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

  • [Glöst] Verzeichnisschutz ohne htaccess

    Hallo Leute, ich bin neu hier im Forum und hoffe, das mir hier jemand helfen kann.

    Ich habe ein passwortgeschützten Bereich (session) auf meiner Seite. Dort sind Videos verlinkt die auf dem Server liegen. Der Passwortschutz funktioniert aber wenn man die URL zu den Videos kennt, kann man die ohne Passwortabfrage abrufen.

    Ich habe gelesen, das man das mit open_basedir lösen könnte, indem man die zu schützenden Dateien in ein Bereich verschiebt wo www nicht lesen kann sonder nur php. Aber mehr habe ich auch nicht.

    Ich weiß, mit der .htaccess ist ein Verzeichnisschutz schnell eingerichtet. Aber mich hat daran gestört, dass man sich nicht ausloggen kann (oder nur mit viel aufwand) und das Anmeldefenster ist auch nicht sehr schön.

    Ich beschäftige mich noch nicht sehr lange mit php, webserver usw. und weiß deshalb auch nicht genau welche Infos benötigt werden die einer Lösung dienlich sind. Deshalb hier nur ein Paar Infos zum System:
    Code:
    PHP Version 7.3.8
    Server version: Apache/2.4.39 (Unix)
    Ich hoffe, dass meine Anliegen verständlich machen konnte und jemand eine Idee hat wie ich das vorhaben umsetzten kann.

    Gruß Tron

  • #2
    Wozu auf dem Videoverzeichnis einloggen lassen? Einfach den Zugriff komplett verbieten und die Dateien nur per PHP ausliefern.

    Kommentar


    • #3
      Hallo Dormilich, danke für Deinen Beitrag.

      Das ist einfacher gesagt. Aber wie kann ich den Zugriff verbieten? Ich habe versucht die Dateirechte testweise mit chmod 600 /home/tron/video/test.txt (und anderen rechten 400 usw.) zu ändern und ausgeliefert habe ich testweise mit "include "/home/tron/video/test.txt";"

      Ich habe so wie du schreibst auch schon gelesen. Aber ich weiß nicht wie das gemeint ist. "Zugriff komplett verbieten" mit welchem mitteln, chmod?
      "Dateien nur per PHP ausliefern" mit include?

      Ich kenne noch nicht viele PHP Werkzeuge.

      Kommentar


      • #4
        Google: htaccess deny from all

        include ist zum Inkludieren von PHP-Dateien gedacht. Wenn du Video-Dateien durch Include jagst, machst du dem PHP-Parser keine große Freude. Das kann sogar für Sicherheitslücken ausgenutzt werden, falls jemand PHP-Code in die Video-Datei einschleust. Oder es kommt einfach zu einem Fehler, weil irgendwo in den Binärdaten per Zufall ein PHP-Tag vorkommt.

        Um Dateien auszugeben, verwende readfile().

        Kommentar


        • #5
          Hallo hellbringer, danke für Deine Beitrag.

          Ich hatte "htaccess deny from all" auch schon probiert aber falsch angewandt. Jetzt geht es. Aber wenn ich readfile('test/BB.mp4'); verwende erhalte ich eine Textausgabe der mp4-Datei. Ist das normal?

          Auf der Suche habe ich dann "Pseudo Streaming MP4’s with PHP" gefunden. Damit funktioniert das Streamen. Muss die mp4 so ausgeliefert werden oder geht das auch kürzer?

          ich hatte mal folgendes Probiert:
          Code:
          <video class="" controls="" poster="" onloadstart="volume=0.5">
                  <source src="<?php readfile('test/BB.mp4'); ?>" type="video/mp4">
          </video>
          Hat aber nicht funktioniert

          Kommentar


          • #6
            Zitat von Tron0070 Beitrag anzeigen
            Aber wenn ich readfile('test/BB.mp4'); verwende erhalte ich eine Textausgabe der mp4-Datei. Ist das normal?
            Ja, wenn der Browser das so ohne weitere Information vorgeworfen bekommt.

            Zitat von Tron0070 Beitrag anzeigen

            Auf der Suche habe ich dann "Pseudo Streaming MP4’s with PHP" gefunden. Damit funktioniert das Streamen. Muss die mp4 so ausgeliefert werden oder geht das auch kürzer?
            Vom Grundsatz muss das so gemacht werden. Habe den Code aber nur überflogen. Mag sein, das für einen speziellen Fall da einige Zeilen eingespart werden können, davon würde ich aber abraten wenn es funktioniert.


            Zitat von Tron0070 Beitrag anzeigen
            ich hatte mal folgendes Probiert:
            Code:
            <video class="" controls="" poster="" onloadstart="volume=0.5">
            <source src="<?php readfile('test/BB.mp4'); ?>" type="video/mp4">
            </video>
            Hat aber nicht funktioniert
            Dir sollte jetzt klar sein warum das nicht funktionieren kann. Wenn nicht, schau in den Seitenquelltext was du damit produziert hast.




            Kommentar


            • #7
              Hallo jspit, danke für Deinen Beitrag.

              Zitat von jspit Beitrag anzeigen
              Dir sollte jetzt klar sein warum das nicht funktionieren kann. Wenn nicht, schau in den Seitenquelltext was du damit produziert hast.
              Ist mir jetzt klar. Und soweit funktioniert es jetzt wie ich es wollte.

              Ich habe dann aber doch noch eine Frage. Wie kann ich jetzt die Video Tags anwenden die ich vorher verwendet habe?
              Code:
              <video class="" controls="" poster="" onloadstart="volume=0.5">
                  <source src="test/BB.mp4" type="video/mp4">
                  <track src="test/BB.srt" label="DE / Untertitel" kind="subtitles" srclang="de" default="de">
              </video>
              und die scripts?

              Code:
              <script>
              var video = document.getElementById("v2");
              function v5() {
                  vid_currentTime = video.currentTime;
                  video.currentTime = vid_currentTime + 5;
              }
              </script>
              Mir ist jetzt nicht klar wo diese jetzt hinkommen.


              EDIT:
              Hat sich erledigt.
              Code:
              <source src="streaming.php" type="video/mp4">

              Kommentar


              • #8
                Ich dank nochmals allen Beteiligten für Eure guten Beiträge. Ihr habt mir sehr geholfen.

                Gruß Tron

                Kommentar

                Lädt...
                X