Dynamische Webseiten mit PHP und MySQL Prinzip

Aus Xinux Wiki
Version vom 22. März 2026, 10:16 Uhr von Thomas.will (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
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