Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "PHP: Hypertext Preprocessor Roman Schröder. 25.06.2015PHP2 / 28 Überblick  Was ist PHP?  Installation  Konfiguration  Sicherheit  Sprachkonstrukte."—  Präsentation transkript:

1 PHP: Hypertext Preprocessor Roman Schröder

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

3 25.06.2015PHP3 / 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

4 25.06.2015PHP4 / 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

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

6 25.06.2015PHP6 / 28 Funktionsweise

7 25.06.2015PHP7 / 28 Installation

8 25.06.2015PHP8 / 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

9 25.06.2015PHP9 / 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)

10

11

12

13 25.06.2015PHP13 / 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 4. 3. PHP Konfiguration

14 25.06.2015PHP14 / 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)

15

16 25.06.2015PHP16 / 28 Sicherheit  Keine globalen Variablen verwenden register_globals = off! statt http://url.de?variable1=test& 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

17

18

19 25.06.2015PHP19 / 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

20 25.06.2015PHP20 / 28 Sprachkonstrukte

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

22 25.06.2015PHP22 / 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"; } ?>

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

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

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

26 25.06.2015PHP26 / 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)

27 25.06.2015PHP27 / 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

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


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

Ähnliche Präsentationen


Google-Anzeigen