Geschützte Seite mit Download von diversen Dateien - kein Direktaufruf der Dateien per Link

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Geschützte Seite mit Download von diversen Dateien - kein Direktaufruf der Dateien per Link

      Ich habe mal ein Testprojekt erstellt mit einem geschützten Bereich wo es möglich ist Dateien (PDF) herunterzuladen. Da standardmäßig die Dateien welche in X5 mit verbunden werden nicht geschützt sind muss man da natürlich was machen, was aber die meisten nicht wissen...

      Also ich habe in meinem Testprojekt 2 - .htaccess Dateien.

      Die erste liegt im Root (Hauptverzeichnis) der Seite mit folgendem Inhalt:

      Quellcode

      1. ErrorDocument 403 http://testseiten.unofficialwsx5.de/direkt_aufruf/fehler_seite.php
      2. ErrorDocument 404 http://testseiten.unofficialwsx5.de/direkt_aufruf/fehler_seite.php


      Das bedeutet das bei einem Fehler 403/404 die fehler_seite.php aufgerufen wird. Bitte beachten das der Pfad zu DEINER SEITE geändert wird! Die Datei befindet sich nach dem Import in X5 in eurem gewählten Import Ordner!

      In der zweiten Datei haben wir folgenden Inhalt:

      Quellcode

      1. Order deny,allow
      2. Deny from all


      hiermit sagen wir das die dateien nicht per Direktlink aufzurufen sind. Diese Datei befindet sich im Beispiel im safe Ordner. Die kann natürlich auch überall anders liegen (in einem Ordner) dazu braucht man nur im Skript den Pfad ändern - dazu gleich mehr.

      Die beiden .htaccess Dateien sind auch hier zu finden htaccess.rar sie werden auf den Server übertragen.

      Das wars ja eigentlich schon zum Thema Datei schützen - jetzt kann man z.B. die PDF Datei (bzw. alle Dateien) nicht mehr per Link aufrufen. Das bringt uns aber erstmal nicht viel - denn wir wollen ja die Datei trotzdem herunterladen...nur es soll nicht jeder machen können.

      Dazu erstellt man sich eine Seite in einem Texteditor bzw Notepad ++ ist hervorragen dafür geeignet, und nennt diese als Beispiel - downloadscript - und gibt dieser Seite die php Endung

      Der Inhalt der Seite muss folgender sein:

      Der Autor hat diesen Text versteckt. Zum Einloggen oder Registrieren hier klicken.


      Ich habe ein paar Kommentarzeilen angefügt...einfach so fortsetzen mit den Namen.Einfach die ID erweitern und den Dateinamen angeben. Diese Seite dient nur als Skript Seite....und ist auch hier direkt als Download verfügbar downloadscript.php und die Datei kommt in das Hauptverzeichnis der Seite auf dem Server.


      Jetzt brauchen wir nur noch den geschützten Bereich im Programm anzulegen und dort unsere Dateien verlinken - aber dies müssen wir ein wenig anders machen wie bisher...

      HTML-Quellcode

      1. <a href = "<?php echo getLink('file1'); ?>">Datei 1 Download</a>


      wir müssen nicht mehr direkt zur Datei verlinken sondern wir verlinken auf eine ID die wir in der downloadscript Seite festgelegt haben.

      Da ein angemeldeter Benutzer den Link ja auch weitergeben könnte benutzt das Script einen Zeitstempel - Der Downloadlink funktioniert nur eine gewisse Zeit und ist dann abgelaufen.

      Wenn jetzt ein User den Link weitergibt - egal welchen - gelangt er auf die Fehlerseite.

      Auf der geschützten Seite müssen wir aber noch ein HTML Objekt im Programm einfügen und dort folgendes eintragen:

      Der Autor hat diesen Text versteckt. Zum Einloggen oder Registrieren hier klicken.


      Bitte den Pfad wieder anpassen zu deiner Seite.

      ----- hab ich noch was vergessen ----- ach ja ein Link zur

      TESTSEITE

      Passwort steht da - also Augen auf....

      Bitte mal testen ob es läuft - damit ich weiß ob alle Dateien da sind...
      Dateien
      :hi: :mario:

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von zwoemti () aus folgendem Grund: Script geändert - mehr Funktionen

    • Hi zwoemti,

      Funktioniert fast alles.

      Wenn man einloggt kommt die Fehlerseite und nicht die Mitgliederseite. Erst wenn man auf die Mitgliederseite klickt kann man die PDF runterladen. Getestet mit IE8
      Wissen ist MACHT ! Nichts zu Wissen macht nichts !
      Wissen ist MACHT ...ohne es zu wissen !
    • also muss ich so vorgehen:
      htaccess.rar im Server hochladen. Wo genau muss diese sein, unter htdocs oder ist sie im Stammverzeichnis ?

      ebenfalls downloadskript.php unter htdocs oder ins Stammverzeichnis

      im Website X5 habe ich ein Privater Bereich eingerichtet und dieser funktioniert mit Passwort.
      also muss ich nun eine neue geschützte Seite im Privater Bereich anfügen, egal wo und unsichtbar?

      nun dort den HTML Quell-Code Objekt ... >a href=">?php echo getLink('file1');?>">Datei1 Download</a> eingeben?

      PHP Quell-Code Objekt ebenfalls in geschütze Seite eintragen, selbe Seite wie obiges Objekt?

      da dies ja anders gemacht wird mit den Dateilinks, letzte Frage wo Speichere ich die Dateien ab? bis anhin habe ich sie ja vom PC als Link im Website X5 verlinkt ?

      sorry für meine vielen Fragen

      Vielen Dank schon mal für deine Hilfe.
    • htaccess.rar im Server hochladen. Wo genau muss diese sein, unter htdocs oder ist sie im Stammverzeichnis ?


      Datei entpacken!
      .htaccess Datei des root Ordners kommt in das Verzeichnis wo sich auch die html Dateien befinden ich nenne es root! In der Datei musst du DEINE URL eintragen!
      .htaccess Datei des safe Ordners kommt in den safe Ordner der im root Ordner erstellt wird und wo sich später auch die geschützten Dateien drin befinden

      ebenfalls downloadskript.php unter htdocs oder ins Stammverzeichnis


      root also dort wo sich auch die html Dateien befinden

      im Website X5 habe ich ein Privater Bereich eingerichtet und dieser funktioniert mit Passwort.
      also muss ich nun eine neue geschützte Seite im Privater Bereich anfügen, egal wo und unsichtbar?


      Du kannst DEINE geschützte Seite nehmen wo sich die Links zum Download befinden sollen!

      nun dort den HTML Quell-Code Objekt ... >a href=">?php echo getLink('file1');?>">Datei1 Download</a> eingeben?


      Die Zeile

      HTML-Quellcode

      1. <a href = "<?php echo getLink('file1'); ?>">Datei 1 Download</a>


      ist dein Downloadlink für Datei 1 was Datei 1 also "file1" ist wird in der Datei downloadscript.php eingestellt.
      Diese Datei musst du am SERVER bearbeiten ich nutze dazu z.B. Flash FXP

      Der oder besser gesagt die Links kannst irgendwo platzieren ob nun auf Bildern oder textlinks bleibt dir überlassen.
      auch das geht

      30-12-2014 22-42-51.png

      PHP Quell-Code Objekt ebenfalls in geschütze Seite eintragen, selbe Seite wie obiges Objekt?


      HTML-Quellcode

      1. <?php
      2. function getLink($filename)
      3. {
      4. for($i = 0; $i < 10; $i++)
      5. {
      6. $var1 = $var1 . rand(0, 100);
      7. }
      8. $var1 = $var1 . "_____";
      9. $var2 = $filename . "_____";
      10. $var3 = time() . "_____";
      11. for($i = 0; $i < 10; $i++)
      12. {
      13. $var4 = $var4 . rand(0, 100);
      14. }
      15. return "http://testseiten.unofficialwsx5.de/direkt_aufruf/downloadscript.php?p=" . base64_encode($var1 . $var2 . $var3 . $var4);
      16. }
      17. ?>
      Alles anzeigen


      Link anpassen!
      und in ein HTML Objekt auf der Seite wo du deine Links platzierst ans Ende einfügen.Das muss nicht sichtbar sein bzw. die Höhe kann 0 betragen.

      letzte Frage wo Speichere ich die Dateien ab? bis anhin habe ich sie ja vom PC als Link im Website X5 verlinkt ?


      Deine Dateien speicherst du im safe Ordner ab.
      Das hochladen kannst du entweder unter Schritt 1 machen in dem du sie an dein Projekt anfügst (wenn du Version 11 hast) oder bei Version 9/10/11 auch im HTML Objekt als Dateianhang unter erweitert.
      Oder bei Version 9/10/11 auch unter Schritt 5 wenn du dich mit dem Server verbunden hast ist oben in der Button Leiste ein Pfeil zum Dateien hochladen.
      :hi: :mario:
    • Hallo zwoemti, ich habe nun alles erstellt, jedoch bekomme ich eine Fehlermeldung nach dem Anklicken in der Homepage, mit folgendem Text
      ( Not Found The requested document was not found on this server. )

      Was habe ich falsch gemacht ?
      Ich habe im Root die .htaccess Datei erstellt ( im Ordner safe ), dann habe ich die zweite Seite ebenfalls im safe Ordner erstellt, welche den Quellcode Ordner deny,allow ect.hat.
      Nun habe ich alle Dateien in den Ordner ( safe ) geladen, welche ich wollte und diese im downloadscript.php alle samt eingetragen

      Frage 1: sind die Dateien .htaccess / .htaccess.safe / downloadscript.php / am richtigen Ort (Root) ?
      Frage 2: wie darf oder muss der Orner heissen, ich habe Ihn so benennt ( .htacces.safe ) mit Quellcode Order deny,allow …

      so habe ich das im Stammverzeichnis (Root)
      1 htdocs
      1.1 admin
      1.2 captcha
      1.3 files
      1.4 gallery
      1.5 images
      1.6 imemail
      1.7 menu
      1.8 pcss
      1.9 res
      1.10 safe
      1.10 .1 .htaccess (ErrorDocument 403 meineseite.de/direkt_aufruf/fehler_seite.php)
      1.10 .2 .htaccess.safe (Quellcode Order deny,allow…)
      1.10 .3 alle versteckten Dateien PDF/mp3/jpg etc.
      1.10 .4 downloadscript.php

      1.11 style
      1.12 videos
      1.13…div. Dateien in html & php
    • hier scheint Bahnhof zu sein....

      Was hat dein Ordner htdocs für ein Inhalt? Theoretisch ist das der Ordner welcher im Web angezeigt wird!

      Link zum Fehler?
      Screenshot der Ordner hilft mehr wie eine Beschreibung.

      Ich zeig dir mal wie es beim Testprojekt aussieht

      05-01-2015 20-42-28.png05-01-2015 20-43-16.png
      :hi: :mario:
    • Hallo Gemeinde,

      ich hab das Thema noch einmal aufgegriffen, Das Script läuft gut. Super sache..... :thumbsup:

      Bei den Textlink gehts, aber wenn ich ein Animated Button benutze und im Feld Link <?php echo getLink('file1'); ?> eingebe
      gehts nicht und ich werde auf die Fehlerseite gewiesen. ?(

      Irgend etwas mach ich falsch...bin aber noch nicht dahinter gestiegen. Oder funst das mit der V16 nicht ?

      Beste Grüße Mario