====== Webprogrammierung ======
Der Kurs PHP nutzt verschiedene //Arbeitsblätter//. Lade diese herunter und bearbeite sie in den folgenden Sitzungen.
===== Einstieg: Was ist HTTP und wie funktioniert es? =====
- Erstelle eine Präsentation zum Thema Hypertext Transfer Protocol (kurz [[wpde>HTTP]]), die folgenden Begriffe erläutert: REQUEST, REQUEST METHOD, GET, POST, PUT, DELETE, HEADER, RESPONSE, RESPONSE CODE
- Führe einen Beispielsitzung durch, z.B mit einem Browser oder einem telnet-client wie putty, die einen Request und Response zeigt und stelle das Ergebnis in einem Screenshots dar.
- Visualisiere das Verfahren durch eine eigene Zeichnung.
- Nützliche Links: [[http://openbook.rheinwerk-verlag.de/it_handbuch/13_001.html#dodtp1760af95-8b4e-4c61-899c-80192be41c86|Kap 13.1 im IT-Handbuch für Fachinformatiker]], [[http://www.ietf.org/rfc/rfc2616.txt|RFC 2616 zum HTTP-Standard]]
- Ergänze deine Präsentation um einen eigenen Linktipp.
===== PHP-Programmierung: Variablen =====
Bearbeite Arbeitsblatt 1 zu Variablen.
==== Eingaben ====
Bearbeite Arbeitsblatt 2 zu Eingaben.
==== Verzweigungen ====
Bearbeite Arbeitsblatt 3 zu Verzweigeungen.
Hinweis: In PHP wird die else-if-Anweisung zusammengeschrieben:
$b) {
echo "a is größer als b";
} elseif ($a == $b) {
echo "a ist gleich groß wie b";
} else {
echo "a ist kleiner als b";
}
?>
==== Logische Operatoren ====
Bearbeite Arbeitsblatt 4 zu logischen Operationen.
==== Mehrfachverzweigungen ====
Bearbeite Arbeitsblatt 5 zu Mehrfachverzweigungen.
* [[http://php.net/manual/de/control-structures.switch.php|switch-case]] - Beschreibung im PHP manual.
==== Schleifen ====
Bearbeite Arbeitsblatt 6 zu Schleifen.
==== Funktionen ====
Bearbeite Arbeitsblatt 7 zu Funktionen.
==== Datenbankzugriff ====
Bearbeite Arbeitsblatt 9 zu MySQL.
==== Datenbankzugriff - Eigene Erweiterung ====
Ergänze dein Tabellenmodell um eine weitere Tabelle (oder einfacher: Spalte). Zeichne das neue ER-Modell und passe dein Programm an.
Die neue Tabelle kann z. B. eine Kategorie der Informationen beinhalten, eine neue Spalte könnte das Erstellungsdatum oder ein Bild (schwieriger) beinhalten.
Tipp: Der Umgang mit einem Dateiupload wird z. B. in der [[http://php.net/manual/de/features.file-upload.post-method.php|PHP Dokumentation]] beschrieben.
===== Sicherheit in Webanwendungen =====
[[http://www.dvwa.co.uk/|Damn Vulnerable Web Application (DVWA)]] ist eine verwundbare Webanwendung, mit deren Hilfe man mehr über die Sicherheit von Webanwendungen lernen kann. Mit dem Script [[https://raw.githubusercontent.com/pintman/scripts/master/bin/docker.dvwa.sh|docker.dvwa.sh]] und [[wpde>docker (Software)|docker]] lässt sich schnell ein Container aufsetzen.((Eine Sammlung von Viren aus den 1980er und 1990er Jahren hält das [[https://archive.org/details/malwaremuseum&tab=collection|Malware Museum]] bereit.))
Erläutere den folgenden Tweet und den xkcd-Comic
Now the proud director of "DROP TABLE consultants; Ltd", registered in england and wales.. http://t.co/pQ6513hC9h
— Tom Russell (@khalleth) 8. November 2013