Karl Riedling's Homepage
Teaching
  
  
  
   
  Set Page Contrast  
   
 

Datenbank-basierte Webserver - Themen für Seminarvorträge und Seminararbeiten

Allgemeines

Die unten angegebenen Themen stellen Vorschläge dar; es können aber auch selbst gewählte Themen (nach Rücksprache mit dem Vortragenden) in Form von Vorträgen und/oder Seminararbeiten behandelt werden. In Ausnahmefällen können mehrere Studierende zusammen ein (umfangreicheres) Referats-Thema bearbeiten; bei Seminararbeiten ist eine Zusammenarbeit mehrerer Studierender sogar erwünscht.

Seminarvorträge sollen jeweils 20 Minuten dauern (bei sehr umfangreichen Themen nach Rücksprache auch länger); der Vortragstermin wird im Allgemeinen in den letzten Wochen des Semesters liegen (Ausnahmen sind möglich).

Alternativ dazu ist die Durchführung einschlägiger Programmierarbeiten in Form einer Seminararbeit möglich. Aufgabenstellungen für Seminararbeiten ergeben sich aus dem laufenden Bedarf am Institut; es kann aber auch eine eigene Aufgabenstellung bearbeitet werden.

Themenvereinbarungen bitte in der Lehrveranstaltung oder per Mail an den Vortragenden (karl.riedling@tuwien.ac.at)!

Themenvorschläge für Seminararbeiten

Themen für Seminararbeiten auf Anfrage beim Vortragenden

Themenvorschläge für Referate

Einrichten eines Secure HTTP (HTTPS) Webservers

Es sollen die technischen Voraussetzungen für das HTTPS-Protokoll und die Konfiguration des Apache-Webservers für HTTPS beschrieben werden. Aspekte des Serverbetriebs (nur HTTPS-Seiten, oder bei gemischtem Betrieb: Struktur der Datenverzeichnisse des Webservers für einen sicheren Betrieb) sollen diskutiert werden.

Methoden der Zugriffsbeschränkung auf HTTP-/HTTPS-Verzeichnisse

Für manche Aufgabenstellungen soll der Zugriff auf den gesamten Daten-Inhalt einer Website oder aber auf gewisse Verzeichnisse auf bestimmte Personen oder Personengruppen eingeschränkt werden (Beispiele: Interne Informationen (auch) in statischen Webseiten; phpMyAdmin). Die Information, wer nun tatsächlich auf die Dateien in den geschützten Bereichen der Website zugreift, braucht den dort laufenden Seiten nicht notwendigerweise zur Verfügung gestellt werden. Die dafür in Frage kommenden Techniken, insbesondere auch eine Datenbank-gestützte Authentisierung der Besucher der Website, und ihre Sicherheits-Aspekte sollen präsentiert werden.

Methoden der Benutzer-Authentisierung in LAMP-Systemen

Im Gegensatz zu einer bloßen Zugriffsbeschränkung ist bei authentisiertem Zugriff auf eine Datenbank-basierte Website die Information, wer auf die Seiten zugreift, essentiell den Seiten zur Verfügung zu stellen (Beispiel: Finanz-Transaktionen). Die unterschiedlichen Möglichkeiten, wie sich BenutzerInnen gegenüber den (meist zahlreichen) Seiten einer Website identifizieren können, und ihre Sicherheitsaspekte sollen behandelt werden.

Kontrollierte Ausgabe von Dateien an authentisierte User

In vielen Fällen sollen Dateien auf einer Website nur einem beschränkten Personenkreis individuell zugänglich gemacht werden (Beispiele: Elektronische Zeitschrift, deren Artikel nur zahlenden Kunden zur Verfügung gestellt werden sollen; interne Informationen einer Firma). Oft ist es nicht ausreichend, in Abhängigkeit von der Authentisierung  ein Link auf eine in irgendeinem Unterverzeichnis des Webservers (z.B. "/files") stehende Datei auszugeben, weil Zugriffe auf solche Dateien leicht "er-hackt" werden können. Es sollen daher die Möglichkeiten beschrieben werden, den sicheren und exklusiven Zugriff auf Gruppen von Dateien oder einzelne Dateien individuell (in Abhängigkeit von der Person der Benutzerin / des Benutzers) zu gestatten.

Portieren vorhandener PHP-Seiten auf neue Versionen von PHP (z.B. PHP 5 -> 7)

Web-Applikationen sind in der Regel langlebiger als konventionelle, auch dynamische, Websites. Es stellt sich daher häufig die Aufgabe, eine bestehende Applikation im Zuge der Vorbereitung einer Neu-Installation auf eine neuere PHP-Version zu portieren. Obwohl zumindest seit PHP 4.1 die grundsätzliche Funktionalität von PHP weitgehend gleich geblieben ist bzw. Kompatibilitäts-Features vorgesehen wurden (z.B. var äquivalent zu public), treten bei der Migration zu einer neueren PHP-Version sehr häufig Probleme durch als veraltet erklärte Funktionen oder Paradigmen-Wechsel (Default-Zeichensatz von ISO-8859-1 auf UTF-8 beim Wechsel von PHP 5.3 und früher auf 5.4 und höher) auf, die mehr oder weniger umfangreiche Maßnahmen erfordern.

Sicherheitsaspekte von Apache-Webservern

Es sollen jene Maßnahmen beschrieben werden, die die Sicherheit eines Apache-Webservers (unter Linux und/oder Windows) gegen Hacker- (oder besser: Cracker-) Attacken verbessern sollen.

Sicherheits-Aspekte unter Verwendung von PHP

In diesem Referat sollen generelle Aspekte behandelt werden, durch welche Maßnahmen (Konfiguration und Programmiertechnik) die Sicherheit eines unter PHP laufenden Webservers optimiert werden kann. Der Begriff "Sicherheit" umfasst hier nicht nur den Schutz des Webservers gegen potenzielle Fehlbedienung durch die User, sondern auch weitestgehende Immunität gegen Hacker-Attacken.

Sicherheits-Aspekte bei Zugriffen auf eine MySQL-Datenbank

Es soll beschrieben werden, durch welche Maßnahmen in der Konfiguration und im Betrieb der MySQL-Datenbank einer Datenbank-basierten Website optimale Immunität gegen versehentliche oder böswillig beabsichtigte Beschädigungen erzielt werden kann, insbesondere unter der Randbedingung, dass eine freie Dateneingabe (z.B. in Textfelder) durch die BenutzerInnen der Website erforderlich ist.

Sicherheits-Aspekte bei Verwendung von Client-seitigem JavaScript-Code

JavaScript-Funktionen, die auf dem Client-Rechner laufen, entziehen sich potenziell der Kontrolle der EntwicklerInnen einer Website. Es soll aufgezeigt werden, unter welchen Umständen Client-seitige Datenmanipulationen ein Sicherheitsrisiko darstellen können, und Möglichkeiten beschrieben werden, wie eine potenzielle Manipulation von Client-seitig bearbeiteten Daten serverseitig detektiert werden kann.

Browser-unabhängige Webseiten

Browser-Abhängigkeit der Wiedergabe von Webseiten bedeutet einerseits eine unterschiedliche Darstellung von HTML-Code, andererseits eine unterschiedliche Behandlung von JavaScript-Code. In diesem Referat sollen wesentliche Ursachen für Browser-Abhängigkeiten aufgezeigt und Möglichkeiten für ihre Behebung (oder Kompensation) geschildert werden.

Content Management-Systeme - Möglichkeiten und Grenzen

Es existieren zahlreiche (nicht nur auf PHP basierende) kommerzielle oder frei verfügbare Content Management-Systeme, die es erlauben, mit minimalem Programmieraufwand Datenbank-basierte Websites einzurichten. Die Möglichkeiten und Grenzen der wichtigsten derartigen Systeme sollen aufgezeigt werden.

Spezielle Aspekte beim Betrieb von Apache/PHP/MySQL unter Windows (WAMP statt LAMP)

Viele Beschreibungen (auch im Rahmen dieses Seminars) konzentrieren sich auf die Erstellung von LAMP-Systemen, also auf der Basis eines Linux-Systems. Oftmals (vor allem zu Entwicklungs- und Testzwecken) ist es aber wünschenswert, eine Datenbank-basierte Website auf einem unter Windows laufenden Rechner zu installieren. Im Rahmen dieses Seminars sollen die Möglichkeiten, Voraussetzungen und Konfigurationseinstellungen beschrieben werden, ein Apache/PHP/MySQL-System unter Windows einzurichten.

to the top of the page
© Karl Riedling 2000 - 2024