Dynamische Webseiten mit PHP und MySQL Prinzip
Zur Navigation springen
Zur Suche springen
Dynamische Webseiten mit PHP und MySQL – Prinzip
Grundidee
- Eine dynamische Webseite erzeugt ihren Inhalt zur Laufzeit und nicht aus festen Dateien
- Inhalte werden aus einer Datenbank geladen oder durch Benutzereingaben verändert
- Die gleiche URL kann unterschiedliche Inhalte liefern
Komponenten
- Browser (Client)
- Sendet Anfragen an den Server
- Zeigt die erzeugte Webseite an
- Webserver (Apache) mit PHP
- Verarbeitet die Anfrage
- Führt Logik aus
- Kommuniziert mit der Datenbank
- Datenbank (MySQL / MariaDB)
- Speichert strukturierte Daten
- Liefert Daten auf Anfrage
- Nimmt Änderungen entgegen
Ablauf einer Anfrage
- Benutzer sendet eine Anfrage (z. B. Formular oder URL)
- Anfrage wird an den Webserver übergeben
- PHP verarbeitet die Anfrage
- Eingaben werden gelesen
- Entscheidung wird getroffen (lesen / schreiben)
- PHP stellt Anfrage an die Datenbank
- SELECT → Daten lesen
- INSERT → Daten speichern
- DELETE → Daten löschen
- Datenbank liefert Ergebnis zurück
- PHP erzeugt daraus HTML
- HTML wird an den Browser gesendet
- Browser zeigt die fertige Seite an
Ablauf als Kette
- Benutzer → Anfrage → PHP → Datenbank → PHP → HTML → Benutzer
Trennung der Aufgaben
- HTML
- Darstellung der Inhalte
- Formulare und Tabellen
- PHP
- Logik und Verarbeitung
- Steuerung des Ablaufs
- Kommunikation mit der Datenbank
- Datenbank
- Speicherung der Daten
- Strukturierung der Informationen
Dynamik
- Inhalte werden bei jedem Aufruf neu erzeugt
- Ergebnisse hängen ab von:
- Benutzereingaben
- Datenbankinhalt
- Zustand der Anwendung (z. B. Login)
Zentrale Problemstellen
- Eingaben des Benutzers
- Können manipuliert werden
- Dürfen nicht direkt übernommen werden
- Datenbankzugriff
- Unsichere Abfragen führen zu Manipulation (SQL Injection)
- Ausgabe im Browser
- Ungefilterte Inhalte führen zu Script-Ausführung (XSS)
Sicherheitsprinzipien
- Eingaben kontrollieren
- Keine direkte Übernahme von Benutzerdaten
- Daten sicher speichern
- Passwörter werden gehasht
- Ausgabe absichern
- Inhalte werden vor der Anzeige gefiltert
Bezug zur Umsetzung
- Level 1
- Grundfunktion (lesen / schreiben)
- Level 2
- System ist funktional aber unsicher
- Level 3
- Absicherung der Anwendung
Kernaussage
- Dynamische Webseiten bestehen aus Eingabe, Verarbeitung und Speicherung
- Jede dieser Stellen kann korrekt funktionieren oder zur Schwachstelle werden