Technische Projektdokumentation - abrjak/fotiface GitHub Wiki

Übersicht

Umgesetzte Projektkompetenzen

  • Handlungsziel 1B - Projektantrag
  • Handlungsziel 1C - Projektdokumentation
  • Handlungsziel 4C - Usability
  • Umsetzung B - Source Control
  • Umsetzung C - Planugstool

Beschreibung der Umsetzung der technischen Projektkompetenzen

4C - Usability

Auf der Login-Seite wurde einerseits durch das HTML-Attribut 'required' sichergestellt, dass die Input-Felder nicht leer bleiben und dass der User darüber informiert wird, dass er diese ausfüllen muss. Weiter wird der User per Bootstrap-Alert informiert, wenn er eine falsche Kombination von Benutzername und Passwort eingegeben hat. Dabei wird in beiden Fällen die gleiche Meldung ausgegeben ('Benutzername oder Passwort sind falsch'), um Rückschlüsse auf mögliche Kombinationen zu verhindern. Das Passwort wurde mit der PHP-Funktion 'password_hash' verschlüsselt und wird während dem Login mit der Funktion 'password_verify' verifiziert. Auf spezielle Regex-Vergleiche wurde verzichtet, da Prepared Statements verwendet werden. Da erst nach einer erfolgreichen eine spezielle PHP-Session-Variable vergeben wird, kann der User auch nicht auf andere Unterseiten der Webapplikation zugreifen. Jede Seite verifiziert erst, ob diese Session-Variable gesetzt ist und leitet den User sonst auf die Login-Seite zurück.

Ist der User verifiziert wird er auf die Gallerie-Seite weitergeleitet. Dabei kann er nur seine eigene Gallerie sehen, da die aus der Datenbank geladenen Bilder abhängig von seiner User-ID sind. Die hochgeladenen Bilder werden als Bootstrap-Thumbnails dargestellt und können durch einen Mausklick komplett geöffnet werden. Die Webapplikation unterstützt das Hochladen von mehreren Bildern, solange diese im .png-, .jpg- oder .jpeg-Format gespeichert sind. Weiter können die hochgeladenen Bilder durch die Such-Funktion gefiltert werden. Diese Funktion berücksichtigt dabei nur den Dateinamen der Bilder.