Service Individuelle Programmierung, Dienstleistungen
 
Blog Neuigkeiten, Informationen, Tipps & Tricks
 
Add-ons Für WebsiteBaker, LEPTON CMS & BlackCat CMS
 
kitFramework Das kitFramework unterstützt ihr CMS mit Erweiterungen
 
Usergroup Berlin Die Themen und Termine für die Treffen in Berlin
 
 
 
 

kitDirList - öffentlicher und geschützter Zugriff auf Verzeichnisse

Häufig sind gerade die Dinge, die zunächst völlig unkompliziert erscheinen in der Praxis doch nicht so einfach zu handhaben.

Grundsätzlich sind Webseiten hervorragend dazu geeignet Ihren Besuchern Informationen zur Verfügung zu stellen und Dateien weiterzureichen. Im Folgenden entwickeln wir ein kleines Szenario, das typisch für die Entwicklung von Webseiten ist:

  • Zunächst wollen Sie den Besuchern Ihrer Website den aktuellen Produktkatalog zum Download anbieten, hierzu verlinken Sie einfach an den gewünschten Stellen auf den Katalog. Das ist unkompliziert und rasch erledigt.
  • Ihr online Angebot wächst und gedeiht und mittlerweile gibt es mehrere unterschiedliche Kataloge. Anstatt nur auf einen bestimmten Fachkatalog zu verlinken führen Sie Ihre Kunden jetzt in einen Downloadbereich wo sie sich den gewünschten Katalog aussuchen und herunterladen können. Dies kann eine einfache Liste sein oder auch komfortabler mit Hilfe einer Download Galerie gelöst werden. Eine weitere sehr einfache Lösung ist die Verwendung des kitDirList Vorgängers DirList: dieses Add-on stellt den Inhalt eines beliebigen Verzeichnis auf Ihrem Server ähnlich wie ein Windows Explorer zum Download zur Verfügung.
  • Inzwischen betreuen Sie über Ihre Website nicht nur Ihre Direktkunden sondern auch Wiederverkäufer. Dazu haben Sie einen geschützten Bereich aufgebaut, in den sich die Verkäufer einloggen können und in dem Sie zusätzliche Informationen zur Verfügung stellen. Die unterschiedlichen Preislisten wollen Sie ebenfalls zum Download anbieten. Doch jetzt kommen Ihnen - völlig zu Recht - Bedenken: Sind diese Preislisten sicher?  Lässt sich verhindern, dass Dritte auf diese Dateien zugreifen können?

Sofern Sie die Dateien wie bisher auf Ihrem Server bereitstellen muss der neugierige Surfer lediglich die Adresse der Datei kennen – häufig genügt auch eine Vermutung – und schon kann er direkt darauf zugreifen.

Das Problem liegt darin, dass die Verzeichnisse auf Ihrem Webserver nicht geschützt sind, jeder kann unkontrolliert auf die Inhalte zugreifen! Wenn Sie sich mit dieser Thematik auseinandersetzen stellen Sie rasch fest, dass es entweder sichere oder benutzerfreundliche Lösungen gibt, aber keine sicheren, flexiblen und einfach zu handhabenden Möglichkeiten.

Es sei denn, Sie verwenden kitDirList.

Die Funktionserweiterung kitDirList stellt Ihnen auf eine sehr einfache Weise einen Zugriff auf Verzeichnisse Ihres Webservers zur Verfügung. Hierzu fügen Sie an der gewünschten Stelle lediglich ein Droplet ein, eine aufwendige Installation oder Konfiguration ist nicht erforderlich.

Der Zugriff auf die bereitgestellten Dateien kann sowohl öffentlich als auch über einen vollen Verzeichnisschutz erfolgen, ein unbefugter Zugriff ist in diesem Fall nicht möglich.

Die Open Source Entwicklung von kitDirList wird durch das Projekt EM unterstützt.Die Extension kitDirList wurde speziell für das Customer Relationship Management (CRM)  KeepInTouch (KIT) entwickelt. Die Erweiterung kann jedoch auch ohne KeepInTouch verwendet werden, der Funktionsumfang ist in diesem Fall eingeschränkt.

Die Installation erfolgt als Funktionserweiterung (Snippet) von WebsiteBaker oder LEPTON CMS, während der Installation wird ein Droplet zum System hinzugefügt, auf das Sie bei der Bearbeitung von Seiten direkt zugreifen können.

Beim ersten Aufruf des Droplets erzeugt kitDirList im /media Verzeichnis Ihres Webspace einen neuen Ordner /kit_protected. Dieser Ordner wird von kitDirList mit Hilfe einer .htaccess sowie einer .htpasswd geschützt. Ein externer Zugriff auf Dateien in diesem Ordner ist nicht möglich – probieren Sie es ruhig aus, sie werden in diesem Fall nach einem Benutzernamen sowie nach einem Passwort gefragt. Sie selbst verfügen über einen direkten Zugriff auf die Verzeichnisinhalte über die Medienverwaltung im WebsiteBaker bzw. LEPTON CMS Backend oder über das von Ihnen verwendete FTP Programm und benötigen keinen externen Zugang.

Sollen Daten geschützt zur Verfügung gestellt werden, legen Sie diese einfach in einem Unterverzeichnis des Ordner /kit_protected ab – der Schutz erstreckt sich auf alle Ordner und Dateien, die sich unterhalb des Verzeichnis /kit_protected befinden.

Sie können mit kitDirList auch beliebige andere Ordner im /media Verzeichnis bereitstellen, der Zugriff erfolgt in diesem Fall öffentlich, die Dateien werden nicht geschützt.

Die Steuerung von kitDirList erfolgt vollständig über das automatisch installierte Droplet:

[[kit_dirlist]]

Mit diesem „nackten“ Aufruf ohne Angabe von Parametern zeigt Ihnen kitDirList alle Dateien an, die sich auf der obersten Ebene ihres /media Verzeichnis befinden.

Zeigt kitDirList wirklich alle Dateien an? Nein, nicht alle. Es gibt ein paar Dateien die kitDirList aus Sicherheitsgründen grundsätzlich ausblendet, dies sind alle Systemdateien die mit einem Punkt beginnen (.htaccess, .htpasswd …) sowie alle Programmdateien (*.php, *.php5 …). Bei einem öffentlichen Zugriff sehen Sie zudem das Verzeichnis /kit_protected nicht.

Wenn Sie Parameter neu einfügen oder verändern, sichern Sie jeweils die Seite und sehen Sie sich die Seite im Frontend an. kitDirList gibt Ihnen im Frontend auch alle Fehlermeldungen und Hinweise aus, falls Parameter unvollständig sind oder Bedingungen nicht erfüllt sind. Kontrollieren Sie die Ausgabe auf jeden Fall!

Die Reihenfolge der Parameter spielt keine Rolle. Der erste Parameter den Sie an das Droplet kit_dirlist anfügen wird mit einem ? eingeleitet. Auf den Parameter folgt ein = Zeichen und danach der Wert oder die Werte, die dem Parameter zugewiesen werden sollen. Jeder weitere Parameter wird mit einem kaufmännischen & angefügt.

kitDirList unterstützt die folgenden Parameter:

  • media – Angabe des anzuzeigenden Verzeichnis im /media Ordner
  • sort – Sortierung des Verzeichnis: sort=asc : aufsteigend, sort=desc : absteigend, Standard ist aufsteigend von a-z
  • recursive – Unterverzeichnisse einschließen: recursive=true oder recursive=false, Standard ist keine Unterverzeichnisse anzeigen
  • include – Dateiendungen von Dateien die angezeigt werden sollen, alle anderen Dateien werden ausgeblendet. Angegeben werden nur die Dateiendungen ohne Punkt oder Wildcards (Joker), z.B.: include=pdf,jpg,gif,tif : zeigt alle *.pdf, *.jpg, *.gif und *.tif Dateien an.
  • exclude – Dateiendungen von Dateien die ausgeblendet werden sollen, alle anderen Dateien werden angezeigt. Angegeben werden nur die Dateiendungen ohne Punkt oder Wildcards (siehe include). Die Parameter include und exclude sollten nicht gleichzeitig verwendet werden, da sie sich gegenseitig ausschließen.
  • kit_intern – Geschützter Zugriff. Angabe von INTERNEN Kategorien in KeepInTouch (KIT), z.B. kit_intern=catWBUser. Geben Sie mehrere interne Kategorien durch ein Komma getrennt an.
  • kit_news – Geschützter Zugriff. Angabe von NEWSLETTER Kategorien in KIT, z.B. kit_news=newsNewsletter
  • kit_dist – Geschützter Zugriff. Angabe von VERTEILER Kategorien in KIT, z.B. kit_dist=distControl
  • wb_group – Geschützter Zugriff. Angabe von WebsiteBaker Gruppen. Sie können mehrere Gruppen angeben, trennen Sie diese durch ein Komma. Beachten Sie bitte, dass die Gruppennamen für kitDirList eindeutig lesbar sein müssen, verzichten Sie daher bei den Gruppennamen möglichst auf Leerzeichen, Sonderzeichen und Umlaute. Mit einem Namen wie „Häkelgruppe – Redaktion, Nachmittagsgruppe (Mechthild Fadenspur)“ kommt kitDirList definitiv nicht zurecht, besser wäre z.B. „Haekelgruppe_Fadenspur“ – das Eintragen der Parameter geht Ihnen dadurch auch leichter von der Hand.
  • copyright – der Copyright Hinweis von kitDirList kann mit copyright=false ausgeschaltet werden. Bitte denken Sie nicht nur bei einem gewerblichen Einsatz von kitDirList über eine aktive und/oder finanzielle Unterstützung der verschiedenen Open Source Projekte der phpManufaktur nach.

kitDirList - Droplet einfügen

Fügen Sie das Droplet kit_dirlist auf der gewünschten Seite an der Stelle ein, an der die Verzeichnisliste angezeigt werden soll.

Beispiel - Öffentlicher Zugriff mit kitDirList auf Dateien, die sich im Verzeichnis /media/content/addons/kit_dirlist befinden:

[[kit_dirlist?media=content/addons/kit_dirlist]]

Bei einem geschützten Zugriff erwartet kitDirList, dass sich das anzuzeigende Verzeichnis unterhalb von /media/kit_protected befindet. Sie können kein frei zugängliches Verzeichnis mit einem geschützten Zugriff versehen.

Bei einem geschützten Zugriff zeigt kitDirList das Verzeichnis nicht unmittelbar an, der Besucher wird aufgefordert, sich zunächst anzumelden.

Die Anmeldung selbst erfolgt – abhängig von den Parametern – entweder über den Login Dialog von KeepInTouch (KIT) oder über den Anmeldedialog von WebsiteBaker bzw. LEPTON CMS. Nach dem Login haben die Besucher Zugriff auf die freigegebenen Daten. Alle Dateizugriffe erfolgen beim geschützten Zugriff über eine spezielle Programmdatei von kitDirList. Diese prüft ob der Aufrufer angemeldet und berechtigt ist, die Datei herunterzuladen und nur wenn dies der Fall ist, werden die Daten zur Verfügung gestellt. In allen anderen Fällen wird der Zugriff abgewiesen (HTTP Fehlercode 403: Zugriff verweigert).

Der Dateiname alleine ist häufig nicht ausreichend um eine Datei zu beschreiben. Ergänzende Informationen sind hilfreich und unterstützen die  Besucher Ihrer Website bei der Auswahl des richtigen Download. Tooltips gehören mittlerweile zum Standard und werden von Ihren Kunden sicherlich gerne angenommen.

Sie können für Dateien zusätzliche Beschreibungen bzw. Informationen hinterlegen, die von kitDirList als Tooltip angezeigt werden.

Wie kommt kitDirList an die notwendigen Informationen?

Legen Sie mit einem Editor eine neue Textdatei an und tragen Sie in jeweils einer Zeile zunächst den Dateinamen ein und danach, durch ein Pipe Symbol | getrennt, die gewünschte Beschreibung zu dieser Datei:

kit_dirlist_300.jpg|Dieses Bild zeigt ein Symbol für einen halb aufgeklappten Ordner, der mit einem Schloß gesichert ist.
projekt-em.jpg|Logo der Berliner Agentur "Projekt EM"
kit_dirlist_beispiel.jpg|Screenshot einer Verzeichnisanzeige durch kitDirList

Speichern Sie diese Beschreibungen im UTF-8 Format unter dem Namen dirlist.txt in dem Verzeichnis ab, in dem sich auch die Dateien befinden auf die sich die Beschreibungen beziehen. Wenn kitDirList eine Datei dirlist.txt in dem anzuzeigenden Verzeichnis findet, wird diese automatisch ausgelesen, die Beschreibungen den Dateien zugeordnet und die Datei dirlist.txt bei der Anzeige ausgeblendet.

Es ist nicht erforderlich für jede Datei im Verzeichnis eine Beschreibung anzugeben. Das einzige worauf Sie achten müssen, ist die Datei dirlist.txt im UTF-8 Format zu speichern - dadurch stellen Sie sicher, dass auch Sonderzeichen und Umlaute richtig dargestellt werden. Da doppelte Anführungszeichen (wie in dem obigen Beispiel für eine dirlist.txt) innerhalb des HTML title Tag zu Konflikten bei der Ausgabe führen werden sie von kitDirList durch einfache Anführungszeichen ersetzt.

Ralf Hertsch - 11.02.2011

Feedback - Ihre Meinung interessiert uns!

E-Mail*
Nickname*
Website / Homepage
Betreff*
Feedback*
 

Verwenden Sie die Markdown Syntax zur Text Formatierung!

E-Mail bei neuen Kommentaren
 

Ihre E-Mail Adresse wird nicht veröffentlicht. Wenn Sie uns die URL Ihrer Website bzw. Homepage mitteilen, setzen wir automatisch einen Backlink für Sie!

Die Benachrichtigung bei neuen Kommentaren bezieht sich ausschließlich auf diese Seite und kann jederzeit wieder abbestellt werden.

 
Bitte Text eintragen
 
 
 
kitDirList

kitDirList

kitDirList ermöglicht sowohl einen öffentlichen als auch einen geschützten Zugriff auf Dateien aus dem MEDIA Verzeichnis für bestimmte Gruppen und/oder Personen

Datenübertragung mit kitForm & kitUploader

kitForm bietet Ihnen eine flexible, leistungsfähige und sichere Methode zur Übertragung von Daten an, die mit den Möglichkeiten von KeepInTouch und kitDirList harmoniert.

Datenübertragungen und Aktivieren der Dokumentenverwaltung für KeepInTouch

Mit kitDirList lassen sich auch Dateien übertragen und ein Zugriff auf die Dokumenten Verwaltung von KeepInTouch einrichten.

Creative Commons License

Sofern nicht ausdrücklich etwas anderes vermerkt ist, sind auf der phpManufaktur veröffentlichte Inhalte unter einer Creative Commons Attribution License lizenziert.