Webauthoring I - 03. Februar 06
MiniBackend 2: Ausbau der Grundstruktur: Bild- und Dokumentupload, Fileverwaltung, Authentifizierung
Am heutigen Kurstag werden wir weiterhin an der Umsetzung des Portfolio-Backend arbeiten; inbesondere den Bild- und Dokumentupload schauen wir uns heute genauer an.
Was bisher geschah: Auf dem Appollo-Server sind die Files von vergangenem Freitag abrufbar: >Vorlesungen & Projekte >05WS >Webauthoring >Uebungen >SimpleBE >27. Januar
Delete Project – JavaScript Warnung
Bei der Verwaltung der Projekte gibt es natürlich auch die Möglichkeit einzelne Projekt zu löschen. Damit dies nicht unbeabsichtigt geschieht, bauen wir zur Sicherheit beim “Delete-Button” mittels Javascript ein zusätzliche Warnfunktion ein.
Eine solche Warnfunktion könnte in Javascript wie folgt aussehen:
function deleteSomething( what, title, message ) {
if (!message) message = '' + what + ' "' + title + '" loeschen?';
if ( confirm(message) ) {
//alert('Eintrag wird geloescht');
} else {
return false;
}
}
Der Funktion werden drei Werte übergeben: “what” enthält die Bezeichnung welche Art von Eintrag (hier: Projekt) gelöscht werden soll, der Wert “title” zum Beispiel den Projekttitel und für den Wert “message” kann man eine spezifische Nachricht der Funktion übergeben, die später per Alert ausgegeben wird.
Der Aufruf der Funktion kann wie folgt im Link-Tag implementiert werden:
onclick="return deleteSomething('Projekt','Titel des Projektes', 'Optionale Warnmeldung');"
Upload: Bilder
Mit den Projekten auf der Portfolio-Website sollen natürlich auch Bilder verknüpft werden können. In diesem Abschnitt soll gezeigt werden wie mittels Formular ein Bild auf den Webserver hochgeladen wird und wie bildspezifischen Angaben in der Datenbank gespeichert werden.
Wichtige PHP-Funktionen
- Steuerung des Dateiuploads – Variablen und Beispiele
- is_uploaded_file() – Prüft, ob die Daten upgeloadet wurden
- move_uploaded_file() – Verschiebt die upgeloadete Datei in ein neues Verzeichnis
- unlink() – Dateien vom Server löschen
Authentifizierung
Das Backend ist natürlich nichts für die Öffentlichkeit, somit sollten wir das ganze Admin-Verzeichnis mittels Passwort schützen. Dazu bieten sich uns unterschiedliche Lösungen an. Die einfachste Variante ist der Schutz von Verzeichnissen und Dateien mit Hilfe einer .htaccess-Datei.
.htaccess
Sogenannte “.htaccess” Dateien sind Server-Konfigurationsdateien für Verzeichnisse. Damit lassen sich auf einem Webserver (meistens Apache-Webserver) der Zugriff auf bestimmte Dateien regeln und somit Files mittels Passwort schützen.
Aufbau einer “.htaccess” Datei
AuthType Basic AuthName "SimpleBE - The Mini Portfolio Backend" AuthUserFile "/usr/lib/apache/passwd"
Die .htaccess Datei wird in das zu schützende Verzeichnis abgelegt. Mit “AuthType” wird die Art der Authentifizierung angegeben, mit der Anweisung “AuthName” kann dem Bereich ein Name gegeben werden und unter “AuthUserFile” wird der Pfad (absoluter Pfadname) zur Textdatei mit den Benutzernamen und Passwörtern gegeben. Das Benutzerfile sieht dann wie folgt aus:
volpe:TDzc/kg.zaweE
Es wird jeweils zuerst der Benutzername aufgeführt, nach einem Doppelpunkt gefolgt von dem verschlüsselten Passwort (MD5-Verschlüsselung).
Weiterführende Informationen zum schützen von Verzeichnissen mittels .htaccess Datei findet ihr auf der Website von Selfhtml.org: de.selfhtml.org/servercgi/server/htaccess.htm