Tutorial Passwortschutz für Download

Vielen Dank an Werner, ehemals Webbausteine.de, für dieses tolle Skript. Hiermit ist es möglich, Dateien (hier ZIP Archive) mit einem individuellen Passwortschutz zu versehen. Es können beliebig viele Benutzer im Skript eingetragen werden, denen dann jeweils nur ein bestimmter Download zur Verfügung gestellt wird.

Zunächst ladet Ihr Euch das Beispiel-Skript hier herunter, entpackt die ZIP-Datei. Den Inhalt vom Verzeichnis “passwort” könnt Ihr auch zunächst zum Testen in irgendein Verzeichnis auf Euren Server kopieren, bevor Ihr das in NOF einbaut. Das Verzeichnis “verzeichnis” mit den 3 ZIP-Dateien ist auch gleich als Beispiel dabei. Bitte achtet darauf, dass dieses Verzeichnis auch mittels .htaccess (Datei ist dabei) immer geschützt ist, damit man die Dateien nicht mittels Eingabe der URL im Browser downloaden kann.

  • Download Passwortschutz-Download (Version vom 20.06.2016) - Downloads insgesamt seit 20.06.2016: 1491
     
  • Download
	Passwortschutz-Download 

Für den Einbau in NOF müsst Ihr die Seite, auf der Ihr das einbaut, auf die Dateierweiterung .php umstellen und Euer Server muss mindestens die PHP Version 5.4 oder höher unterstützen.

> Menü oben > Bearbeiten > Benutzerdefinierte Namen > bei “Dateierweiterung” .php wählen

Öffnet nun die Beispielseite

  • passwort.php

mit einem Editor - ich empfehle immer gerne den Editor Notepad++

... und kopiert Euch den oberen PHP-Teil in die HTML von Eurem Seitenlayout:

> Layout markieren > Fenster “Layout-Eigenschaften” > Button “HTML” > “Beginn der Seite” (also ganz oben keine Leerzeile lassen)

Passt die Namen und Passwörter, sowie den Pfad zur Download-Datei, an und vergesst nicht das Verzeichnis “verzeichnis” mit Euren ZIP-Dateien in das gleiche Verzeichnis zu kopieren, in dem sich die Seite befindet, auf der Ihr dieses Skript einbaut.

<?php
// Einstellungen (Mindestens PHP 5.4 erforderlich!)

// Namen, Passwörter und Download-Dateien eintragen
$namen = [
    'Tester1' => [
        'passwort' => 'test1',
        'download' => 'verzeichnis/datei1.zip'
    ],

    'Tester2' => [
        'passwort' => 'test2',
        'download' => 'verzeichnis/datei2.zip'
    ],

    'Tester3' => [
        'passwort' => 'test3',
        'download' => 'verzeichnis/datei3.zip'
    ],
];

if (isset($_POST["name"])) {
 // Name und Passwort überprüfen
 if ($namen[$_POST["name"]]["passwort"] === $_POST["passwort"]) {

  // Datei herunterladen
  if (file_exists($namen[$_POST["name"]]["download"])) {
   header("Content-Type: application/zip"); // application/zip
   header("Content-Disposition: " . (!strpos($_SERVER["HTTP_USER_AGENT"], "MSIE 5.5") ? "attachment; " : "") . "filename=" . basename($namen[$_POST["name"]]["download"]));
   header("Content-Length: " . filesize($namen[$_POST["name"]]["download"]));
   header("Content-Transfer-Encoding: binary");
   header("Cache-Control: post-check=0, pre-check=0");
   readfile($namen[$_POST["name"]]["download"]);
  }
 }
}
?>

Nun kopiert Ihr Euch lediglich noch das Formular aus der Beispielseite heraus und fügt diesen Code in den HTML-Code Editor eines Textfeldes ein.

> Textfeld aufziehen (Cursor blink) > Fenster “Text-Eigenschaften” > mittlere Button “Text” > Button “HTML

            <form action="" method="post">
             <label>Name : <input type="text" name="name" required="required"></label>
             <label>Passwort : <input type="password" name="passwort" required="required"></label>
             <input type="submit" value="Download">
            </form>

Viel Erfolg!

Tutorials von Thomas Frei-Herrmann

diese Seite weiter empfehlen


Counter Statistik