PHP: Hypertext Preprocessor Roman Schröder. 25.06.2015PHP2 / 28 Überblick  Was ist PHP?  Installation  Konfiguration  Sicherheit  Sprachkonstrukte.

Slides:



Advertisements
Ähnliche Präsentationen
Allgemeines Name: Ursprünglich: „Personal Home Page Tools“
Advertisements

Algorithmentheorie 08 – Dynamische Programmierung (1)
Apache - PHP - MySQL Apache-PHP-MySQL.
Forschungszentrum caesar
Hochschule Fulda – FB ET Sommersemester 2010
Eine Page von Fachinformatikern für Fachinformatiker
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Puck eine visuelle Programmiersprache für die Schule
FI Knowledge Base Eine Page von Fachinformatikern für Fachinformatiker.
FH-Hof Einbindung von JavaScript Anweisungen
Threads Richard Göbel.
Java: Dynamische Datentypen
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
Dynamische Webseiten mit PHP
Imperative Programmierung
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
Einführung MySQL mit PHP
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
PHP Pakete und Beispiele Webengineering Robert Lemke.
Samba.
Jetzt lernen wir.
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
Grundkonzepte Java - Klassendefinition
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Einführung in das Programmieren mit JavaScript Mag. Andreas Starzer weloveIT – EDV Dienstleistungen.
Informatik 1 Übung 2.
InfoPoint vom 9. November Was ist Joomla? Theorie Installation Extensions Administration Demo.
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
Debugging in Lua Universität zu Köln Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller Referent: Artur Wilke.
Typo 3. INSTALLATION TYPO3 INSTALLTOOL EXTENSIONS UND TEMPLATES INSTALLATION TEMPLAVOILA USERMANAGEMENT Inhalt:
Das Client/Server – Modell und die XAMPP-Distribution
Dynamische Webseiten mit PHP [und Python]
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Marko Dragicevic Thomas Bergauer 27.Mai 2008
PHP Basic.
Purga - Scriptengine Ein Einblick.
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
Algorithmen und Datenstrukturen Übungsmodul 1
Einführung in PHP.
Einführung in PHP 5.
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
MODULA-2.
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
PHP: Operatoren und Kontrollstrukturen
Dedizierte Systeme Typo3 Installation Dedizierte Systeme – Typo3 Installation – Christoph Stollwerk IT Zertifikat der Philosophischen Fakultät WS 2008/2009.
Content-Managment-System
PHP PHP ( „PHP Hypertext Preprocessor") ist eine Skriptsprache
PHP:: Hypertext Preprocessor Einführung Praxis. PHP:: Hypertext Preprocessor Jetzt mal von der anderen Seite © All rights reversed2 PHP:: Hypertext Preprocessor.
XAMPP X: Linux, Windows, MacOS X, Solaris Apache Webserver MySQL Perl PHP.
Datenbanken im Web 1.
Webserver, Apache und XAMPP
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Geschichte - Entstehung - Was ist PHP? Einordnung - Allgemeines
(Syntax, Strings/Zahlen, Variablen, Arrays)
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Joomla! Von Bernhard Grusie Seminar: Internet-Technologie Bei Prof. Dr. Lutz Wegner.
Seite 1 - TYPO3 auf IIS typohead s Willkommen TYPO3 auf IIS ● Christian Kurta
The Programming Language Pascal
Extended Pascal Erweiterung von Pascal shadi Behzadipour shadi Shadi behzadipour.
Content Managment System (CMS)
Seminar Internettechnologie Prof. Dr. Lutz Wegner Julia Mikov WS 06/07
Content Management Systeme. Menü Header ContentSitebar.
WordPress WS 2015/2016 Sarah Jülich und Nadine Schröder.
Entwicklung einer Webapplikation mittels HTML, PHP, MySQL, jQuery, und Smarty-Templates am Beispiel einer Studienarbeitsverwaltung.
Pointer. * und &  Bei der Definition int var1; ○ // „normale“ Variable int *var2; ○ // Zeiger auf einen Integer int *var2 = NULL; ○ // … incl. Initialisierung.
Drupal Installation Versionen 7.43 & Allgemein (bei beiden Versionen) Xampp Control- Panel öffnen Server starten, sonst kein Zugriff auf localhost.
 Präsentation transkript:

PHP: Hypertext Preprocessor Roman Schröder

PHP2 / 28 Überblick  Was ist PHP?  Installation  Konfiguration  Sicherheit  Sprachkonstrukte  PHP-Pakete

PHP3 / 28 Was ist das?  Entwickler: The PHP Group  Erscheinungsjahr: 1995  aktuelle Version: 5.2 (2. November 2006)  serverseitige Programmiersprache  plattformunabhängig  Java/C++ ähnliche Syntax

PHP4 / 28 Vor- & Nachteile serverseitiger Ausführung VorteileNachteile  keine Imkompatibilität (Browser)  kann nicht deaktiviert werden  Quelltext bleibt auf Server  Client hat kein Zugriff auf Ressourcen wie DB  Aktion des Benutzers erst bei Neuaufruf verwertbar  Belastung des Servers steigt  Sicherheitsrisiken bei unvorsichtiger Programmierung

PHP5 / 28 Funktionen  breite Datenbankunterstützung  Möglichkeit Funktionsbibliotheken einzubinden (z.B. zur Erzeugung von Bildern)  Cookies  Session Handling  PDF Generierung

PHP6 / 28 Funktionsweise

PHP7 / 28 Installation

PHP8 / 28 Vor- und Nachteile der Varianten CGI-PHPModul  Pro Seitenaufruf neuer Prozess  Systembelastung steigt enorm  Speicher wird am Ende eines Prozesses frei- gegeben  Systemsicherheit  DB Verbindung geht nach Prozessende verloren  Bestandteil des Servers und ständig geladen  kann Datenbanklinks über Lebensdauer der Seite hinaus halten (Performancegewinn)  manche PHP-Module laufen nicht

PHP9 / 28 Installation des Moduls 1.ZIP Datei entpackenZIP Datei entpacken 2.PHP Konfigurationsdatei ändernPHP Konfigurationsdatei ändern 3.Apache Konfigurationsdatei ändernApache Konfigurationsdatei ändern 4.Apache neu starten Alternative: XAMPP (enthält Apache, PHP, mySQL, phpMyAdmin)

PHP13 / 28 Installation – Unix make make install Installation 1. Apache Konfiguration 2../configure \ --prefix=/usr/local/apache \ --enable-so \ --enable-cgi \ --enable-info \ --enable-rewrite \ --enable-speling \ --enable-usertrack \ --enable-deflate \ --enable-ssl \ --enable-mime-magic./configure \ --with-apxs2=/usr/local/apache/bin/apxs \ --with-mysql \ --prefix=/usr/local/apache/php \ --with-config-file- path=/usr/local/apache/php \ --enable-force-cgi-redirect \ --disable-cgi \ --with-zlib \ --with-gettext \ --with-gdbm PHP Konfiguration

PHP14 / 28 Konfiguration  Kann über Funktion phpinfo() eingesehen werdenphpinfo()  Änderungen können durchgeführt werden in: php.ini httpd.conf (Apache).htaccess (für Skripte im Verzeichnis) Funktion ini_set() (zur Laufzeit des Skripts)

PHP16 / 28 Sicherheit  Keine globalen Variablen verwenden register_globals = off! statt variable2=irgend_ein_wert mit $_GET[‘variable‘] arbeiten  externe Variablen vor Einbindung überprüfen (HTML Tags entfernen durch strip_tags(), da evtl. XSS-Scripting Gefahr) XSS Beispiel 1 XSS Beispiel 2

PHP19 / 28 safe_mode  Kann in der php.ini gesetzt werden  Wenn aktiv, folgende Einschränkungen: Dateifunktionen können nur mit lokalen Dateien ausgeführt werden, die selben Eigentümer haben wie Skript exec() führt nur noch bestimmte Kommandos aus dynamisch ladbare Erweiterungen sind deaktiviert

PHP20 / 28 Sprachkonstrukte

PHP21 / 28 Variablentypen  Boolean  Integer  Float  String  Array  Object

PHP22 / 28 Variablenüberprüfung <?php $bool = TRUE; // ein Boolean (Wahrheitswert) $str = "foo"; // ein String (Zeichenkette) $int = 12; // ein Integer (Ganzzahl) echo gettype($bool); // gibt "boolean" aus echo gettype($str); // gibt "string" aus // Falls es ein Integer ist, erhöhe ihn um vier if (is_int($int)) { $int += 4; } // Falls $bool ein String ist, gebe ihn aus // (gibt überhaupt nichts aus) if (is_string($bool)) { echo "String: $bool"; } ?>

PHP23 / 28 Ausdrücke  Konstanten: define("name", "peter");  Verkürzte if Anweisung: $wenn ? $dann : $sonst  Funktionen: function verdoppeln($i) { return $i*2; }

PHP24 / 28 Operatoren  arithmetische: +, -, *, /, %  Zuweisungen: =, +=, -=,.=  Vergleiche: ==, !=, >, =  Inkrement/Dekrement: ++$a, $a++, --$b, $b--  logische: and, or, xor, !

PHP25 / 28 Kontrollstrukturen  if, else, elseif  while  for  switch, break  require(_once) / include(_once)

PHP26 / 28 Erweiterungspaket GD  Open Source-Programmbibliothek zur dynamischen Erzeugung und Manipulation von Grafiken  Zeichnen von Linien, Rechtecken, Polygonen, Kreisbögen und Ellipsen  Bilder oder Ausschnitte von Bildern können aus Dateien eingelesen und manipuliert werden  Unterstützung von Alphakanälen  Erzeugung animierter GIF Grafiken  PHP: Erzeugung von Thumbnails (Vorschaubildern)

PHP27 / 28 Verbreitete Applikationen  wBB, vBulletin und phpBB – Foren-Software  phpMyAdmin – grafische Benutzeroberfläche zur Verwaltung von MySQL-Datenbanken  PHP-Nuke – Portal-Software  Drupal, PostNuke, TYPO3, Mambo / Joomla! – Content-Management-Systeme (CMS)  WordPress – Software für das Erstellen von Weblogs

PHP28 / 28 Noch fragen? Vielen Dank für die Aufmerksamkeit!