Seite 1 von 3

in geschütztem Bereich pdf Datein schuützen

Verfasst: Di 2. Jan 2007, 16:10
von blickfang
Hallo,

habe schon ein paar Themen im Forum zu diesem Problem gelsen, aber keine wirklich befriedigende Lösung gefunden. Datei (docs, pdfs, xls- Dateien) die über den geschützen Bereich bestimmten Usern zur Verfügung stehen, sind über Ihren absoluten Pfad im Browser von jedermann aufrufbar.

Sicherlich kann man ein Download Script in php schreiben und das Verzeichnis über .htaccess schützen, das kann doch aber nicht der Anspruch einer Kundenverwaltung für 299,- EUR sein! Abgesehen davon müssen Redakteure bei jedem Link in geschützten Bereich irgendwelche Paramter anhängen was der Usability sicher nicht zuträglich ist.

Einige Forumeinträge zu diesem Thema sind über 1 1/2 Jahre alt - können wir hierfür mit einer baldigen Lösung von webEdition rechnen oder gibt es noch eine Möglichkeit die uns bislang nicht bekannt ist?

Grüße und alles Gute 2007!

Verfasst: Do 31. Jan 2008, 00:24
von atreju
Gibt es für dieses Problem eigentlich zwichenzeitlich eine Lösung??

Verfasst: Do 31. Jan 2008, 08:45
von bolleone
also, ich habe irgendwannmeine "safe Downloads" so gelöst:

Code: Alles auswählen

<we:ifEditmode>
<we:block name="BlkSafeDownload">
<we:link name="SafeDownload"/>
</we:block>
</we:ifEditmode>

<we:ifNotEditmode>
<?php
$block = unserialize($we_doc->getElement("BlkSafeDownload"));
for($i=0; $i<sizeof($block); $i++)
{
$nr = $block[$i];
$MyLink = unserialize($we_doc->getElement("SafeDownloadblk_BlkSafeDownload_".$nr));
$MyLink['id2path'] = f("SELECT Path FROM tblFile WHERE ID='".$MyLink["id"]."'","Path",$GLOBALS["DB_WE"]);
$zwischenspeicherung = explode("/",$MyLink['id2path']);
$letzterEintrag = count($zwischenspeicherung);
$Save = $zwischenspeicherung[$letzterEintrag-1];
echo "[LIST]";
echo "[*]Sicherer Download der Datei: <a href='/download.php?File=".$Save."'>".$MyLink['text']."</a></li>";
echo "[/LIST]";
}
?>
</we:ifNotEditmode>
download.php:

Code: Alles auswählen

<?php
$MyFile = $_REQUEST["File"];
$MyDownloadFile = $_SERVER["DOCUMENT_ROOT"] . "/PFAD_ZU_DEN_DOWNLOADS/" . $MyFile;
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=$MyFile");
readfile($MyDownloadFile);
?>
Hier braucht der Redakteur keine zusätzlichen Parameter anhängen, er pflegt die Links ganz normal ein...

Verfasst: Fr 29. Feb 2008, 14:01
von rhine_wine
Hallo,
ich kämpfe gerade mit demselben Problem - und mit demselben Script.

Trotz angepasstem Pfad in der download.php wird nur diese Seite aufgerufen und das wars. Die übergebene URL ist .../download.php?File=

Hat jemand ne Idee?
Dank und schönes Wochenende
Gerhard

Das kann doch nicht die Lösung sein!

Verfasst: Mi 7. Jan 2009, 13:46
von heinz23
Stehen momentan selbst auch vor diesem Problem und alles was angeboten wird ist eine solche Lösung? Wenn man von einem geschützten Bereich spricht gehe ich davon aus, dass alle Dateien unterhalb dieses Ordnders/Bereich geschützt sind.

Ebenso ist es suspekt, das man Ordner schützen kann in WebEdition, diese aber ebenso erreichbar sind. Wo bitteschön ist da der Sinn? Würde uns sehr freuen wenn der Support oder ein Entwickler einmal dazu Stellung nehmen könnte.

Verfasst: Mi 14. Jan 2009, 16:26
von w4
Hi,
hat denn mittlerweile dazu jemand eine funktionierende, redakteurfreundliche Lösung?

Ich frage mich auch, was ein geschütztes Verzeichnis bringen soll, wenn keinerlei Schutz der darin enthaltenen Daten gegeben ist?!

Es scheint, von WE liest hier niemand mehr - oder auch keine Lösung parat?

Waere schoen, wenn eine Stellungnahme seitens WE kommen wuerde!

Jens

Verfasst: Mi 14. Jan 2009, 18:25
von eSKa
wir hatten das mal mit dem pageLogger gelöst.

Hier wurden die Downloads im pageLogger angelegt und dann über diesen Fileservercode aufgerufen. Das Verzeichnis wurde dann nochmal per htaccess-Datei gesichert. Das interessierte den pageLogger aber nicht, allerdings musste der der Speicherort als Pfad und nicht als URL im pageLogger angegeben werden. Dadurch konnten die Dateien runtergeladen werden und das Verzeichnis war trotzdem vor direktem Zugriff geschützt.

Verfasst: Mi 14. Jan 2009, 19:00
von Creutzburg
Also ich meine, der Zugriffsschutz für Verzeichnisse wirkt sich nur auf darin enthaltene WebEdition-Seiten (und sicher auch nur auf dynamische) aus - alles andere kann WebEdition ja nicht kontrollieren - wenn man aus einem Verzeichnis eine PDF-Datei herunterlädt, dann bekommt WebEdition davon schließlich nichts mit.

Wir lösen solche Geschichten immer auf die oben beschriebene Weise:
- es gibt einen per .htaccess grschützten Ordner, in den der Redakteur die Dateien hochlädt
- es gibt eine download.php, der die ID der Datei übergeben wird, und die nochmal prüft, ob der aktuell eingeloggte Benutzer berechtigt ist, auf diese Datei zuzugreifen
- will ein Redakteur einen geschützten Download auf einer Seite hinterlegen, dann kann er die Datei über ein we:href oder ein we:link bequem verlinken und auch gleich hochladen.
- bei der Ausgabe der Seite wird dann einfach die im we:href hinterlegte ID der Downloaddatei an das Downloadskript übergeben, ohne dass der Redakteur irgendwelche Parameter an irgendwelche Links übergeben muss

Diese Lösung ist für den Redakteur absolut benutzerfreundlich und hat sich in der Praxis durchaus bewährt.

Gruß,
Alex

Verfasst: Mi 14. Jan 2009, 19:19
von w4
hi alex,
Creutzburg;50550 hat geschrieben:Also ich meine, der Zugriffsschutz für Verzeichnisse wirkt sich nur auf darin enthaltene WebEdition-Seiten (und sicher auch nur auf dynamische) aus - alles andere kann WebEdition ja nicht kontrollieren - wenn man aus einem Verzeichnis eine PDF-Datei herunterlädt, dann bekommt WebEdition davon schließlich nichts mit.
Dann interessiert mich doch brennend, wozu man verzeichnisse schuetzen kann in WE? Wozu dann den Reiter "Kunden" beim Verzeichnis?
Creutzburg;50550 hat geschrieben:Wir lösen solche Geschichten immer auf die oben beschriebene Weise:
- es gibt einen per .htaccess grschützten Ordner, in den der Redakteur die Dateien hochlädt
- es gibt eine download.php, der die ID der Datei übergeben wird, und die nochmal prüft, ob der aktuell eingeloggte Benutzer berechtigt ist, auf diese Datei zuzugreifen
- will ein Redakteur einen geschützten Download auf einer Seite hinterlegen, dann kann er die Datei über ein we:href oder ein we:link bequem verlinken und auch gleich hochladen.
- bei der Ausgabe der Seite wird dann einfach die im we:href hinterlegte ID der Downloaddatei an das Downloadskript übergeben, ohne dass der Redakteur irgendwelche Parameter an irgendwelche Links übergeben muss
Hmmm ... OK. Und was steht in der download.php? So ganz klar ist mir das Prinzip noch nicht. Für Hilfe aber dankbar.

Muss aber sagen, dass mir im Moment WE etwas auf den Wecker geht. Auf Supportanfragen kommen nur Standardantworten, man solle in der Dokumentation schauen. Diese wiederum ist kostenpflichtig (!) obwohl es ein altes WE 5.X ist (das bezahlt wurde).

Statt dieses Spiel zu programmieren haetten sie besser mal ein Handbuch fuer 6.X gemacht. Aber das ist jetzt eine Bezahldokumentation.

Mir waren die alten Zeiten lieber als man WE noch kaufen musste. Da gab es wenigstens schnelle, kostenlose und kompetente Antworten, wenn Probleme auftauchten. Ich schau mir grad mal nebenher eine Alternative an (Ty**leicht). Sieht auf den ersten und zweiten Blick ganz gut aus. Echt schade, aber so manche Dinge sind nervtoetend.

Jens

Verfasst: Mi 14. Jan 2009, 20:00
von deemes
w4;50551 hat geschrieben:Ty**leicht
Kein Grund sich zu verstecken. :-)

Schau Dir auch mal ExpressionEngine und Riot an. Ersteres ist in Deutschland wohl noch sehr unbekannt, aber eine namhafte Grösse in den USA. Zweiteres ist recht neu aber vielversprechend.

Verfasst: Mi 14. Jan 2009, 21:10
von w4
Hi,
naja - nicht, dass sie mich noch hier rauswerfen ;)

Danke fuer die Tips - ich werde mir beides mal ansehen. Nach X Jahren WE mal den Horizont erweitern ;)

Jens

Verfasst: Mi 11. Mär 2009, 13:49
von Jazzid
Hi, ich habe die Lösung von "bolleone" benutzt und sie funktionierte auch auf meinem xampp system. Jetzt ist das ganze auf einem Webserver und da will er die download.php immer speichern oder öffnen und führt sie nicht aus!?!
Woran liegt das wie kann ich das umgehen?

Re: in geschütztem Bereich pdf Datein schuützen

Verfasst: Fr 3. Jul 2009, 15:26
von Jaui
Gibt es da im Jahr 2009 vielleicht einfachere Lösungen, wenn mit we:listview gearbeitet wird um die Downloads anzuzeigen?

Re: in geschütztem Bereich pdf Datein schuützen

Verfasst: Fr 3. Jul 2009, 22:25
von MarS
Naja, man kann statt des we:Block auch einen Listview nehmen und die Downloads anzeigen lassen, aber an der download.php kommt man trotzdem nicht vorbei.

Re: in geschütztem Bereich pdf Datein schuützen

Verfasst: Mo 6. Jul 2009, 16:47
von Jaui
Ich habe heute etwas Zeit gefunden und versucht den Download mit dem o.A. Skript zu verschleiern. Scheint auch fast zu funktionieren nur irgendwie scheitere ich an der simplen Pfadangabe. Ich habe das doch so zu verstehen, dass vom DOCUMENT_ROOT der Pfad weiter zu meinem Verzeichnis der Download-Files weitergeht. Danach wird per PHP Übergabe das entsprechende Dokument ausgewählt.

Code: Alles auswählen

    <?php
    $MyFile = $_REQUEST["File"];
    $MyDownloadFile = $_SERVER["DOCUMENT_ROOT"] . "/BETA/Downloads/" . $MyFile;
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=$MyFile");
    readfile($MyDownloadFile);
    ?>
Ich bekomme die 404 angezeigt :(
Habe ich so kurz vor Feierabend etwa ein Brett vor dem Kopf?