Dynamische Webseiten mit PHP und MySQL Prinzip: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Die Seite wurde neu angelegt: „= Dynamische Webseiten mit PHP und MySQL – Prinzip = == Einführung == * Dynamische Webseiten generieren Inhalte zur Laufzeit, abhängig von Benutzereingabe…“ |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
= Dynamische Webseiten mit PHP und MySQL – Prinzip = | = 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 | |||
* PHP | |||
* | * HTML wird an den Browser gesendet | ||
* Browser zeigt die fertige Seite an | |||
* | |||
== | == Ablauf als Kette == | ||
* | * Benutzer → Anfrage → PHP → Datenbank → PHP → HTML → Benutzer | ||
* PHP | |||
* | == 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 | |||
Aktuelle Version vom 22. März 2026, 10:16 Uhr
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