Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:webprogrammierung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
schule:webprogrammierung [2015-12-29 12:10] – Reihenfolge marco.bakeraschule:webprogrammierung [2019-12-21 14:23] (aktuell) – hierarchie marco.bakera
Zeile 1: Zeile 1:
 +====== 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:
 +
 +<code php>
 +<?php
 +if ($a > $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";
 +}
 +?>
 +
 +</code>
 +
 +==== 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
 +
 +<html>
 +<div style="border:gray 1pt solid">
 +<blockquote class="twitter-tweet" data-lang="de"><p lang="en" dir="ltr">Now the proud director of &quot;DROP TABLE consultants; Ltd&quot;, registered in england and wales.. <a href="http://t.co/pQ6513hC9h">http://t.co/pQ6513hC9h</a></p>&mdash; Tom Russell (@khalleth) <a href="https://twitter.com/khalleth/status/398863797760184320">8. November 2013</a></blockquote>
 +<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
 +
 +
 +<img src="https://imgs.xkcd.com/comics/exploits_of_a_mom.png" />
 +
 +</div>
 +</html>
 +
 +Weitere Sicherheitslücken, dich sich nicht nur auf Webanwendungen beschränken, lassen sich z.B. mit dem Tool [[https://www.metasploit.com/|metasploit]] austesten. Dazu gibt es auch eine grafische Oberfläche mit dem Namen [[http://www.fastandeasyhacking.com/|armitage]]. Mit [[https://www.kali.org/|Kali Linux]] existiert sogar eine eigene Linux-Distribution, die den Fokus auf das Testen von Software und Infrastrukturen auf Sicherheitslücken legt.
 +
 +===== Links =====
 +
 +  * Herr Kalt hat einen [[http://herr-kalt.de/fortbildungen/webdesign-lernen/start|Lernpfad zum Thema Webdesign]] erstellt. Hier werden die Themen HTML und CSS aber auch rechtliche Aspekte der Webentwicklung erklärt.  
 +  * [[http://www.w3schools.com/php/default.asp|PHP-Tutorial]] bei w3schools.com
 +  * [[https://secure.php.net/manual/de/tutorial.php|Tutorial aus dem PHP-Handbuch]]
 +  * [[http://www.danshort.com/HTMLentities/index.php?w=latin|Entity-Tags]]
 +  * Was bedeutet dieses [[http://fun.sdinet.de/pics/white-trash-repairs-hammertime-has-been-delayed.jpg|Bild]]?
 +  * [[http://codiad.com/|CODIAD]] ist eine Entwicklungsumgebung für PHP und andere Sprachen der Webprogrammierung, die sich direkt über den Browser bedienen lässt.