Date post: | 06-Apr-2016 |
Category: |
Documents |
Upload: | ingeborg-siegel |
View: | 222 times |
Download: | 0 times |
PHP: Hypertext Preprocessor
Roman Schröder
04/26/23 PHP 2 / 28
Überblick Was ist PHP? Installation Konfiguration Sicherheit Sprachkonstrukte PHP-Pakete
04/26/23 PHP 3 / 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
04/26/23 PHP 4 / 28
Vor- & Nachteile serverseitiger Ausführung
Vorteile Nachteile 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
04/26/23 PHP 5 / 28
Funktionen breite Datenbankunterstützung Möglichkeit Funktionsbibliotheken
einzubinden (z.B. zur Erzeugung von Bildern)
Cookies Session Handling PDF Generierung
04/26/23 PHP 6 / 28
Funktionsweise
04/26/23 PHP 7 / 28
Installation
04/26/23 PHP 8 / 28
Vor- und Nachteile der Varianten
CGI-PHP Modul 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
04/26/23 PHP 9 / 28
Installation des Moduls1. ZIP Datei entpacken2. PHP Konfigurationsdatei ändern3. Apache Konfigurationsdatei ändern4. Apache neu starten
Alternative: XAMPP (enthält Apache, PHP, mySQL, phpMyAdmin)
04/26/23 PHP 13 / 28
Installation – Unix
makemake 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
04/26/23 PHP 14 / 28
Konfiguration Kann über Funktion phpinfo() eingesehen
werden Ä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)
04/26/23 PHP 16 / 28
Sicherheit Keine globalen Variablen verwenden
register_globals = off! statt http://url.de?variable1=test&
variable2=irgend_ein_wertmit $_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
04/26/23 PHP 19 / 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
04/26/23 PHP 20 / 28
Sprachkonstrukte<html>
<body><?php echo "Hallo Welt!"; ?> </body>
</html>
04/26/23 PHP 21 / 28
Variablentypen Boolean Integer Float String Array Object
04/26/23 PHP 22 / 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" ausecho gettype($str); // gibt "string" aus// Falls es ein Integer ist, erhöhe ihn um vierif (is_int($int)) { $int += 4;}// Falls $bool ein String ist, gebe ihn aus// (gibt überhaupt nichts aus)if (is_string($bool)) { echo "String: $bool";}
?>
04/26/23 PHP 23 / 28
Ausdrücke Konstanten: define("name", "peter"); Verkürzte if Anweisung:
$wenn ? $dann : $sonst Funktionen:
function verdoppeln($i) {return $i*2;
}
04/26/23 PHP 24 / 28
Operatoren arithmetische: +, -, *, /, % Zuweisungen: =, +=, -=, .= Vergleiche: ==, !=, >, <, <=, >= Inkrement/Dekrement: ++$a, $a++,
--$b, $b-- logische: and, or, xor, !
04/26/23 PHP 25 / 28
Kontrollstrukturen if, else, elseif while for switch, break require(_once) / include(_once)
04/26/23 PHP 26 / 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)
04/26/23 PHP 27 / 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
04/26/23 PHP 28 / 28
Noch fragen?Vielen Dank für die Aufmerksamkeit!