Zu Hauptinhalt springen
Gewählte Sprache ist Deutsch Select language
Startseite UR

NDS-Downloadbereich

Eine Zugangsbeschränkung für Verzeichnisse, die dann nur für Universitätsangehörige zugänglich sind. Der Nutzer muss sich mit seinem RZ-Passwort authentifizieren. Dabei kann der Zugang auf bestimmte Accounts oder Gruppen von Accounts eingeschränkt werden.

Er funktioniert für HTML-, PDF-, Bild-  und Mediendateien die klassischerweise zum Herunterladen (download) angeboten werden. Er funktioniert aber nicht mit Programmdateien (PHP). Will man diesen Mechanismus mit PHP-Skripten verwenden, so muss vorher einen Antrag auf Verwendung des RZ-Session-Management gestellt werden.


Damit der RZ-Passwort-Schutz für ein Verzeichnis (und alle darunter liegenden) aktiv wird, ist darin nur eine Datei namens .htaccess mit folgenden drei Zeilen Inhalt notwendig:

Datei-Inhalt   Bemerkungen
ErrorDocument 403 /Fehler/403_intern.phtml
order allow,deny
deny from all
  Die Fehlerbehandlung benutzt das Session-Management-System, um eine RZ-Passwort-Prüfung durchzuführen.

Nur bestimmte Dateien berücksichtigen

Man kann die Eigenschaften der Apache-Konfiguration in der .htaccess-Datei nutzen, um die Passwortprüfung auf bestimmten Dateien zu beschränken:

Datei-Inhalt   Bemerkungen
<Files *.html>
  ErrorDocument 403 /Fehler/403_intern.phtml
  order allow,deny
  deny from all
</Files>
  Nur bei Dateinamen, die mit .html enden, wird dieser Mechanismus verwendet.

Bestimmte Benutzer oder Benutzerkreise zulassen

Ohne weitere Angaben ist der Zugang nur mit einem RZ-Account möglich. Um den Kreis der Benutzer, z.B. weiter einzuschränken, kann man Listen der erlaubten oder verbotenen RZ-Benutzer sowie erlaubten oder verbotenen RZ-Benutzergruppen in einer weiteren Datei .sessionacl angeben. Diese Datei enthält Zeilen mit änlicher Syntax wie bei Apache-Konfigurationsdateien.
 anweisung liste
wobei folgende Werte als anweisung erkannt werden:

anweisung liste
Allow eine Liste der erlaubten Benutzer
Deny eine Liste der verbotenen Benutzer
AllowGroup eine Liste der erlaubten Hauptgruppen (all ist auch möglich)
DenyGroup eine Liste der verbotenen Hauptgruppen (all ist auch möglich)
ErrorUrl der URL, auf denen verzweigt wird, wenn der angemeldete Benutzer verboten ist

Die Elemente der Listen können durch Zwischenraum oder Komma getrennt werden. Es dürfen beliebig viele Zwischenräume vor oder nach anweisung vorkommen. Groß-/Kleinschreibung ist egal. Als Hauptgruppe wird der NDS-Container der dritten Ebene benutzt. Bei
 .vip01234.4.stud.fh-regensburg.de
ist die Hauptgruppe z.B. stud und bei
 .mim09509.rz.uni-regensburg.de
ist sie rz.

Datei-Inhalt   Bemerkungen
AllowGroup rz biologie
allow mim05104
deny rzd03380, wuf04055
  Alle Benutzer in den Container rz und biologie mit Ausnahme von .wuf04055.allgemein.physik.uni-regensburg.de und .rzd03380.rz.uni-regensburg.de dürfen zugreifen. Zusätzlich darf .mim05104.extern.stud.uni-regensburg zugreifen.

Im obigen Beispiel ist die Angabe deny wuf04055 überflüssig, da dieser Benutzer weder im Container rz noch im biologie ist.

Als ErrorUrl darf ein Dateiname relativ zu dem Verzeichnis, in dem die .sessionacl-Datei steht, ein Dateiname mit Pfad ab dem Document Root oder ein voller URL angegeben werden.

Datei-Inhalt   Bemerkungen
DenyGroup all
Allow mim09509 wag13515 rua19449, pid09504, rzd03380
ErrorUrl internes/fehler.phtml
  Zugriff wird für alle Benutzer verweigert mit Ausnahme von mim09509, wag13515, rua19449, pid09504 und rzd03380

Download-Schutz und PHP-Skripten

Um die RZ-Sessions mit RZ-Passwortkontrolle in PHP-Skripten zu verwenden, muss ein sog. Bereich vereinbart werden (s. Notizen über Sessions). Leider können aus technischen Gründen der automatische Download-Mechanismus und die RZ-Sessions nicht im gleichen Skript verwendet werden. Der allgemeine Download-Mechanismus funktioniert auch nicht für PHP-Skripten. Um den hier beschiebenen Mechanismus zu verwenden, gibt es drei Möglichkeiten:

  1. auf PHP verzichten,
  2. einen Session-Bereich beantragen und eine abgewandelte Version der Fehlerbehandlung für alle Dateitypen (einschließlich PHP) verwenden,
  3. einen Session-Bereich beantragen und der Download-Mechachanismus in Kombination mit RZ-Sessions verwenden

Die erste Alternative is natürlich einfacher. Will man aber PHP-Skripten verwenden, so muss eine der anderen Alternativen benutzt werden.


Einfacher Schutz für PHP-Skripten

Um diese Verfahren zu verwenden, müssen die Datei
 /www/htdocs/Fehler/403_intern.phtml
bzw.
 /www-cgi/htdocs/Fehler/403_intern.phtml
in das entsprechende Verzeichnis kopiert, die Zeilen

  $rzsess_bereich  = 'UniIntern';
  $allow_php       = FALSE; 

entsprechend geändert und eine entsprechende .htaccess-Datei erzeugt werden.

  1. Universität