Web-basierte Anwendungssysteme PHP Teil 2

Ähnliche Dokumente
2. Interaktive Web Seiten. action in Formularen. Formular. Superglobale Variablen $ POST, $ GET und $ REQUEST. GET und POST

Sessions mit PHP. Annabell Langs Sessions in PHP - Annabell Langs 1

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Softwaretechnik Teil Webprogrammierung (HTML, PHP) SS2011

Session Management und Cookies

PHP und MySQL. Sicherheit und Session-Handling mit PHP. Zellescher Weg 12 Willers-Bau A109 Tel

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

ASP: Active Server Pages

Java zur Realisierung von Internetanwendungen

Multimedia im Netz Wintersemester 2011/12

Programmieren der Untersuchung

Online-News Ausgabe 12, Juli 2000 Seite 56

PHP Einsteiger Tutorial Kapitel 4: Ein Kontaktformular in PHP Version 1.0 letzte Änderung:

Perl-Praxis CGI-Skripte 0-0/22

SSO-Schnittstelle. Inhalt: Beschreibung der Single Sign-On (SSO) Schnittstelle. NetSlave GmbH Simon-Dach-Straße 12 D Berlin

Konzept eines Datenbankprototypen Folie 1 Daniel Gander / Gerhard Schrotter

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

Projekt Online-Shop:

PHP-Security. Aleksander Paravac. Aleksander Paravac (GNU/Linux User Group Bamberg/Forchheim) 1 / 27

Python CGI-Skripte erstellen

FileMaker und PHP Workshop

Java - Webapplikationen

Datenbanksysteme SS 2007

Web Visu Tutorial. Hipecs Web Visu. Übersicht

Dynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten

Einführung in die Scriptsprache PHP

Handout zur Vorlesung DBSP Sessions, Cookies, Login-Systeme Unit 8 DBSP. Unit 8. Sessions, Cookies, Formulare und Login-System

Lösungen der Aufgaben zur Klausurvorbereitung. Aufgabe 1: a) was sagen die folgenden Eigenschaften eines XML-Dokumentes aus? wohlgeformt gültig

PHP-Schwachstellen und deren Ausnutzung

Sicherheit in Webanwendungen CrossSite, Session und SQL

Programmieren von Webinformationssystemen

Zusammenfassung Web-Security-Check ZIELSYSTEM

Wie funktioniert das WWW? Sicher im WWW

Web Sockets mit HTML5. Quelle:

9 Dynamisches Erzeugen von Webseiten

PHP Formulare. Stefan Maihack Dipl. Ing. (FH) Datum:

for ($i=1 ;$i<=25 ;$i++) { echo "$i "; }?> <br> <a href=" zur Index-Seite</a> </body> </html>

1. Einführung Eigenschaften Einsatzszenarien Externes Benutzer-Management Synchronisation von Konten,

PHP JavaScript Kapitel 9. Java-Script-Objekte und das Event-Modell

Datenbank-basierte Webserver

PHP. Prof. Dr.-Ing. Wolfgang Lehner. Diese Zeile ersetzt man über: Einfügen > Kopf- und

Formulare in html Bernd Bl umel Version: 1. April 2003

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Schwachstellenanalyse 2012

Session-IDs im FRITZ!Box Webinterface

OWASP Top 10. im Kontext von Magento. Mittwoch, 21. November 12

Softwarepraktikum - Verteidigung Entwurf LDAP-Interfaces für majordomo und Web

Programmieren II. Wie kommen Daten von einem Webserver? Vorlesung 12. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011

Dateneingabe über ein HTML-Formular in eine Datenbank:

Active Server Pages. Internetanbindung von Datenbanken. Gliederung. Einführung in ASP. Sessions mit ASP. Datenbankanbindung mit ASP ASP-1

Benutzung eines Login Modules zur Authentifizierung unter JBoss 4.0.5

Programmieren 2 (Prof. Hasbargen) Klausur

Einführung in die Skriptsprache PHP

Java Server Pages (JSP)

Funktionen in PHP 1/7

sendeffect API

Internetanbindung von Datenbanken

Schwachstellenanalyse 2013

Fortgeschrittene Servlet- Techniken. Ralf Gitzel

Datenbanken 1. Einführung und Zugänge für die eingesetzten Resourcen. ISWeb - Information Systems & Semantic Web University of Koblenz Landau, Germany

Grundlagen der Informatik 2

Programmieren von Webinformationssystemen

Proseminar: Website-Management-Systeme

Aufgaben HTML Formulare. Prof. Dr. rer. nat. Claus Brell, Wirtschaftsinformatik, Statistik

Wolfgang Dehnhardt: JavaScript, VBScript, ASP, Perl, PHP, XML: Scriptsprachen für dynamische Webauftritte, Carl Hanser 2001

Advanced Web Hacking. Matthias Luft Security Research

TYPO3 und TypoScript

Das Paket enthält: formular.php vionlink-formmailer.php src/font.tff src/bg.png src/capmaker.php

ZSDGMDZFGW... Zehn Sicherheitsprobleme, die gerne mit dem ZendFramework gebaut werden. Ben Fuhrmannek #phpug-köln

FAQ - Script gaesteform

BS1000 messenger to web server

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

Um einen Form-Mailer in Ihre Seite zu integrieren, kopieren Sie bitte den folgenden HTML-Code und fügen ihn in den Quelltext Ihrer Seite ein:

Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004

Kommunikationsnetze. 7. Das World Wide Web 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten

Datenbanken für Online Untersuchungen

Das Paket enthält: vionlink-formmailer.php formular.htm meldung_template.htm danke_template.htm src/font.tff src/bg.png src/capmaker.

Wichtige Eigenschaften der verwendeten Protokolle und Schnittstellen

Ablauf. Wichtige Termine. Vertiefendes Übungsprojekt - SQL II

Ablauf Unit2. Walkthrough

PDF FormServer Quickstart

Richtlinie zur.tirol WHOIS-Politik

C:\~Temp\Rolf\GaM\anfrageauftritt.php Sonntag, 26. Januar :41

Komfortkasse Checkout Version: 1.1

Perl-Praxis. CGI-Skripte. Michael Beckstette Martin Mann, Steffen Heyne.

FileMaker Go 13 ohne Connects

ixarmaxml Treiber Konfiguration

Benutzer-Handbuch AR System

1 Verarbeitung personenbezogener Daten

Draexlmaier Group. Schulungsunterlage für Lieferanten DRÄXLMAIER Supplier Portal

Performance Tuning

Kurze Einführung in PHP

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 4: Einführung in JavaScript Stand: Übung WS 2014/2015. Benedikt Schumm M.Sc.

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel Michael Kluge (michael.kluge@tu-dresden.

Themen. Anwendungsschicht DNS HTTP. Stefan Szalowski Rechnernetze Anwendungsschicht

Transkript:

Web-basierte Anwendungssysteme PHP Teil 2 Prof. Dr. Armin Lehmann (lehmann@e-technik.org) Fachbereich 2 Informatik und Ingenieurwissenschaften Wissen durch Praxis stärkt Seite 1 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Variablen per Request setzen Variablen können durch den Abruf einer URL mit einem HTTP Query String gesetzt werden Ein? leitet den HTTP Query String ein z.b.: http://server/seite.php?var1=wert1&var2=wert2 Name Wert Trennzeichen Seite 2 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Variablen per Request setzen Wie kommt man aber mit PHP jetzt an den Variablennamen und den zugehörigen Wert? Hierzu benötigt man die sogenannten Superglobals: + $GLOBALS + $_SERVER + $_REQUEST + $_POST + $_GET + $_FILES + $_ENV + $_COOKIE + $_SESSION Seite 3 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Superglobals $GLOBALS Ermöglicht durch Referenzieren Zugriff auf globale Variablen <?php $w = 5; function doit() { echo $GLOBALS[ w ]; }?> doit(); Seite 4 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Superglobals $_SERVER Array, indem Informationen wie Header, Pfade und Weiteres beinhaltet sind Einträge werden durch den Webserver generiert: + $_SERVER[ REQUEST_METHOD ] liefert HTTP Methode des Requests + $_SERVER[ REMOTE_ADDR ] gibt IP-Adresse des Anfragenden zurück + $_SERVER['GATEWAY_INTERFACE'] gibt die Version des verwendeten CGI zurück Seite 5 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Superglobals $_POST, $_GET hiermit werden häufig Daten aus Formularen gesammelt $_GET sollte bei einem Aufruf eines neuen HTML-Dokuments genutzt werden, alle Variablen und Werte sind Bestandteil der URL $_POST zum Übertragen von Daten, z.b. Formulareinträgen aber auch Binärdaten in Nachrichten-Body Weitere Superglobals werden besprochen sobald diese benötigt werden Seite 6 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

$_GET-Verwendung z.b. Aufruf einer Seite mit HTTP Query String http://server/test.php?name=hans <?php?> echo <h1>willkommen. $_GET[ name ]. <\h1> ; mehrere Variablen in einem HTTP Query String http://server/test.php?name=hans&pet=dog <?php?> echo <h1>. $_GET[ pet ].. $_GET[ name ]. <\h1> ; Seite 7 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Formulare Dienen zur Eingabe von Nutzerdaten, z.b. Login-Daten Werden durch <form> eingeleitet <form> besitzt zwei Attribute: + method get/post + action Ziel-URL <form action="welcome.php" method="post"> Name: <input type="text" name="name"><br> E-mail: <input type="text" name="email"><br> <input type="submit"> </form> Seite 8 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Formulare Formularseite <html> <body> <form action="welcome.php" method="post"> Name: <input type="text" name="name"><br> <input type="submit"> </form> </body> </html> Antwortseite <html> <body> Welcome <?php echo $_POST["name"];?><br> </body> </html> Seite 9 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Formulare validieren Z.B. muss der Nutzer einen Namen eingeben und eine gültige Email-Adresse Zuerst prüfen wir, ob alle notwendigen Felder ausgefüllt wurden Dies sollte bereits auf der Formularseite realisiert werden Seite 10 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Formulare validieren $nameerr = $emailerr = ""; $name = $email = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_post["name"])) { $nameerr = "Name is required"; } else { $name = $_POST["name"]; } } if (empty($_post["email"])) { $emailerr = "Email is required"; } else { $email = $_POST["email"]; } Seite 11 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Formulare validieren Email-Adressen prüft man am besten mit der Funktion filter_var() Beispiel: $email = $_POST["email"]; if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailerr = "Invalid email format"; } Seite 12 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Session Eine Session ist eine zeitgebundene Verbindung zwischen Client und Server Um Informationen über einen Client innerhalb der Dauer einer Session zu speichern, kann die Superglobal $_SESSION verwendet werden Sollen Daten permanent gespeichert werden kommen Datenbanken zum Einsatz Informationen werden serverseitig gehalten Seite 13 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Session Sessions können mit der Funktion session_start() erstellt und erkannt werden Dies wird immer als Erstes im Skript ausgeführt Mit session_unset() warden alle Session-Variablen gelöscht Mit session_destroy() wird die Session aktiv beendet Sonst endet eine Session standardmäßig bei Beenden des Browsers Seite 14 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Session Eine Session-Variable kann z.b. wie folgt gesetzt werden: $_SESSION["StartTime"] = date("r"); Jede Session bekommt vom Server automatisch eine ID zugewiesen Mit session_id() kann diese erfragt oder neu erstellt werden Seite 15 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Cookies Werden oft verwendet, um Nutzer zu identifizieren Sind kleine Textdateien, die auf dem Anwenderrechner hinterlegt werden Hierdurch weiß z.b. Amazon oder Google wonach Sie zuletzt gesucht haben Seite 16 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Cookies Mit der Funktion setcookie() kann ein neuer Cookie erzeugt werden setcookie(name, value, expire, path, domain, secure, httponly) name muss gesetzt werden, ist der Name des Cookie-Eintrags value Wert des Cookie-Eintrags expire Ablaufdatum des Cookies in Sekunden path Nur für Pfade innerhalb der Domain einschränken domain einschränken auf spezielle Domain secure nur Zugriff falls HTTPS verwendet wird httponly Skripte können nicht darauf zugreifen Seite 17 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17

Cookies Beispiel setcookie( WebApp, Vorlesung, time() + 3600, "/"); Mit der Funktion setcookie() werden auch Werte innerhalb des Cookies geändert oder gelöscht Um auf Werte zugreifen zu können, wird $_COOKIE[ cookie_name ] verwendet Seite 18 Prof. Dr. Armin Lehmann Web-basierte Anwendungssysteme WS 2016/17