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:


    Code
    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:


    Code
    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:



    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
    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:



    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

    Einmal 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 !

  • Danke zunächst für die ausführlichen Informationen. Ich habe die Testseite ausprobiert, sie kommt in etwa dem nahe, was ich mir vorstelle. Wo ich die zusätzlichen Texte eintragen muss, ist mir noch nicht klar, aber ich werde versuchen, das herauszufinden.
    Grüße aus Linz; Willy.

  • Hallo zwoemti


    ich möchte genau das was du oben beschrieben hast umsetzten,nur fehlt mir die Kenntnis wo was gemacht werden muss.


    was muss auf dem Server eingestellt und was im Website X5 gemacht werden, damit PDF, MP3 Dateien usw. geschützt sind.


    Gruss

  • 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.

  • Zitat

    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


    Zitat

    ebenfalls downloadskript.php unter htdocs oder ins Stammverzeichnis


    root also dort wo sich auch die html Dateien befinden


    Zitat

    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!


    Zitat

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


    Die Zeile


    HTML
    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


    Zitat

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



    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.


    Zitat

    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.

  • 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 http://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

  • habe den Ordner umbenennt, leider kommt weiter die Meldung


    im Ordner safe sind nun fogende Dateien:


    .htaccess
    safe (benötigt diese Datei eine php Endung ? )
    downloadscrip.php
    alle versteckten Dateien (pdf,mp3,jpg...)

  • hallo zwoemti


    vielen Dank für deine Geduld, ich habe es doch noch geschafft. Der Fehler war am anfang bei der richtigen Platzierung auf dem Root anschliessend war ein Zeichenfehler das Problem.


    Gruss

  • 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