Dev Alert: Dies ist ein wichtiger Hinweis für Besucher.
// in progress // in 1,3 // to 2.0
// wait
nelson.lopez-be.ch nelson.lopez-be.ch

151 Datenbanken in Web einbinden

  • 18 Mär. 2018
  • 10:05

    PHP mit Sicherheit im Web

    Es gibt unzählige Möglichkeiten, Schwachstellen in einer Webanwendung zu finden und diese auszunutzen. Im Folgenden findet sich eine Beschreibung allgemein bekannter und oft benutzter Angriffsmöglichkeiten im Zusammenhang mit Webanwendungen.

    SQL-Injection

    SQL-Injection verhindern

    Um SQL-Injections zu verhindern, dürfen vom Benutzer eingegebene Daten nicht ohne Weiteres in eine SQL-Anweisung eingebaut werden. Durch das Escapen der Eingabe werden Metazeichen wie z. B. Anführungszeichen maskiert und somit vom SQL-Interpreter nicht beachtet. Generell ist die Webanwendung für die korrekte Prüfung der Eingabedaten verantwortlich, so dass vor allem die Metazeichen des betreffenden Datenbanksystems entsprechend zu maskieren sind, die für Ausnutzung dieser Sicherheitslücke verantwortlich sind. Weitergehend können auch die Eingabedaten auf die Eigenschaften erwarteter Werte geprüft werden. So bestehen deutsche Postleitzahlen beispielsweise nur aus Ziffern. Geeignete Schutzmaßnahmen sind in erster Linie dort zu implementieren. Der simplere und sicherere Weg ist jedoch, die Daten überhaupt vom SQL-Interpreter fernzuhalten. Dabei kann man auf das Kappen der Eingabe verzichten. Die Technik dazu sind gebundene Parameter in Prepared Statements. Dabei werden die Daten als Parameter an einen bereits kompilierten Befehl übergeben. Die Daten werden somit nicht interpretiert und eine SQL-Injection verhindert. Als positiven Nebeneffekt bekommt man bei bestimmten Datenbanken (z. B. Oracle) außerdem eine Steigerung der Performance. Stored Procedures bieten dagegen keinen generellen Schutz vor SQL-Injection, insbesondere dann nicht, wenn der SQL-Code der Funktion nicht bekannt ist. Doch auch auf Seiten des Datenbankservers lassen sich Sicherheitsvorkehrungen treffen. So sollten die Benutzer, mit denen sich eine Webanwendung beim Datenbankserver authentifiziert, nur die Privilegien besitzen, die er tatsächlich benötigt. So können zumindest einige der möglichen Angriffe unwirksam werden. Hat ein Betreiber eines Webservers keine Kontrolle über die Anwendungen, kann durch Einsatz von Web Application Firewalls (WAF) zumindest teilweise verhindert werden, dass SQL-Injection-Schwachstellen ausgenutzt werden können. Unabhängig von der Kontrolle über die Anwendungen kann ein Betreiber eines Webservers durch den gezielten Einsatz einer WAF die Sicherheit zusätzlich erhöhen, da viele WAFs neben abwehrenden auch prophylaktische Maßnahmen anbieten. Es ist nicht schwer, bestehende Programme so umzubauen, dass SQL-Injections nicht mehr möglich sind. Das hauptsächliche Problem der meisten Programmierer ist fehlendes Wissen über diese Art von Angriffen. Nachfolgend einige Beispiele, um die Angriffe abzuwehren.
    Wiki Link: SQL-Injection

    XSS: Die ewige Gefahr

    Um durch eine Webanwendung keine Basis für XSS-Angriffe zu bieten, müssen alle eingehenden Eingabewerte als unsicher betrachtet und vor der weiteren Verarbeitung auf der Serverseite geprüft werden.[3] Dabei sollte man sich nicht darauf verlassen, „böse“ Eingaben zu definieren (Schwarze Liste), um diese herauszufiltern, da man nicht genau wissen kann, welche Angriffsmethoden[4] es gibt. Besser ist es daher, die „guten“ Eingaben exakt zu definieren (Weiße Liste) und nur solche Eingaben zuzulassen. Dieses Verfahren zählt ganz allgemein zu den Best Practices der Programmierung und sollte wo immer möglich angewandt werden, um unerwartetes Programmverhalten zu verhindern. Allerdings ist es je nach Anwendung nicht immer ohne weiteres in der Praxis umzusetzen, besonders wenn die erlaubten Eingabewerte sehr zahlreich sind. Eine DOM-Injection zu verhindern, ist weit weniger einfach, da Benutzereingaben nicht serverseitig geprüft werden können. Da dieser Angriff unter Umgehung des Servers stattfindet, muss die Gültigkeitsprüfung für Eingabedaten auf Clientseite im Browser erfolgen, was allerdings wiederum leicht manipulierbar ist. Um eine Ausgabe abzusichern (insbesondere bei reflektiertem und persistentem XSS), ist es nötig, die HTML-Metazeichen durch entsprechende Zeichenreferenzen zu ersetzen, damit sie als normale Zeichen und nicht als Metazeichen behandelt werden. Erfolgt die Ausgabe als Teil von URLs, dann muss die URL-Kodierung auf die Eingabewerte angewendet werden. Bei der Ausgabe in JavaScript-Code müssen die Zeichen mit einem umgekehrten Schrägstrich „\“ maskiert werden. Dabei ist zu beachten, dass bei diesen drei Kontexten (HTML, URL, JavaScript) unterschiedliche Zeichen eine Metafunktion haben (zum Beispiel ist „\“ für HTML kein Metazeichen), es muss also immer eine an das Ausgabemedium angepasste Kodierung verwendet werden. Die meisten Programmier- sowie Skriptsprachen verfügen über vordefinierte Funktionen zur Ersetzung der Metazeichen. Die Lösungsmöglichkeiten sind in den einzelnen Programmiersprachen vielfältig, wobei sie dennoch immer einem ähnlichen Prinzip folgen. So können in Java die problematischen Zeichen ersetzt oder maskiert werden. In PHP (htmlspecialchars()) und Perl (HTML::Entities::encode_entities()) stehen entsprechende Funktionen zur Verfügung, die die problematischen HTML-Zeichen maskieren.[5] Zusätzlich können durch Einsatz von Web Application Firewalls (WAF) zumindest in der Theorie einfache (primitive) XSS-Attacken verhindert werden. Praktisch sind sichere Anwendungen jeder WAF vorzuziehen. Durch Einsatz von Content Security Policy kann der Webseitenbesitzer durch das Definieren von erlaubten Quellen für Webseiten-Bestandteile wie Javascript Cross-Site-Scripting effektiv verhindern.
    Wiki Link: Cross-Site-Scripting

    Passwort-Hashes | CHIP


    Wie fatal es ist, Nutzerpasswörter nicht sicher zu speichern, kann man beinahe täglich in der Fachpresse lesen. Immer wieder gelingt es Profis, an Firmendaten zu gelangen, weil Sie Zugriff auf die Passwörter bestimmter User bekommen. In den meisten Fällen werden dazu zwar Trojaner oder andere schadhafte Programme verwendet, welche die Passworteingabe direkt mitschneiden, aber in einigen Fällen gelingt es Angreifern auch, die Passwörter nach dem „trial and error“ Prinzip zu ermitteln. Hier erfahren Sie, wie Sie zumindest letztere Möglichkeit stark einschränken können, indem Sie Passwörter sicher in der Datenbank speichern. Es müssen verschiedene Maßnahmen ergriffen werden, um einen soliden Schutz der Passwörter zu gewährleisten, deshalb gleich die wichtigste Regel zuerst: Speichern Sie Passwörter niemals im Klartext in der Datenbank ab. Sollte ein Angreifer Zugriff auf Diese erhalten, könnte er in diesem Fall alle Passwörter direkt einsehen. Benötigt wird demnach also eine Möglichkeit, Passwörter verschlüsselt in der Datenbank zu speichern. Zum Glück gibt es dafür passende Funktionen in den meisten Programmiersprachen. In diesem Beispiel beschränken wir uns jedoch auf PHP.
    Schritt 1: Hashwert generieren In PHP gibt es mit der Funktion hash() eine bequeme Möglichkeit, den Hashwert einer Zeichenkette zu erzeugen. Das besondere daran ist, dass man die ursprünglich eingegebenen Daten nicht aus dem generierten Hashwert rekonstruieren kann. Bekommt ein Angreifer also Zugriff auf eine Datenbank, kann er mit den darin gespeicherten Hashwerten der Passwörter nichts anfangen. Hier der Code, um den Hashwert in PHP zu erzeugen: Im ersten Übergabeparameter der Funktion wird der zu verwendende Algorithmus angegeben. In diesem Fall verwenden wir „sha1“. Im zweiten Parameter wird dann das zu verschlüsselnde Passwort eingetragen. Hier können Sie testen, welcher Hashwert bei Ihrem Passwort erzeugt werden würde. Analog zu der oben genannten Funktion gibt es auch noch andere Funktionen in PHP, die den selben Zweck erfüllen, z.B. sha1() oder md5(). Wir sind nun einen Schritt weiter und haben unsere Passwörter verschlüsselt in der Datenbank abgespeichert. Leider reicht dies aber heutzutage nicht mehr aus. Computerhardware ist über die Jahre exponentiell leistungsfähiger geworden und benötigt für Millionen von Kombinationen nur einen Sekundenbruchteil. Dazu kommen in der Szene weit verbreitete, sogenannte „Rainbowtables„. Dies sind Tabellen mit vorberechneten Hashwerten zu häufig verwendeten Passwörtern, mit dessen Hilfe man noch schneller auf das verwendete Passwort schließen kann, falls der Hashwert bekannt ist. Um diese Möglichkeiten ebenso auszuschließen müssen wir dem Passwort ein sogenanntes „Salt“ hinzufügen.
    Schritt 2: Passwort salzen Die Theorie zum salzen eines Passwortes ist denkbar einfach: Man nehme ein Passwort und hänge an das Passwort eine beliebige Zeichenkette an. Erzeugt man nun aus dieser neuen Zeichenkette einen Hashwert, ergibt dies natürlich einen ganz anderen Wert. Ob das Salt im Klartext gespeichert wird, spielt dabei überhaupt keine Rolle. Nach dem bereits oben gezeigten Beispiel kann dies nun also folgendermaßen realisiert werden: Der Vorteil an dieser Herangehensweise leigt auf der Hand. Passwörter können in Rainbowtables nun nicht mehr so einfach nachgeschlagen werden, da nicht mehr so einfach von den verschlüsselten Werten auf die entschlüsselten Passwörter geschlossen werden kann. Diese Technik hat sich in der Vergangenheit bewährt und sollte deshalb auch unbedingt eingesetzt werden. Für Security-Enthusiasten bietet sich auch noch die Möglichkeit an, das ganze noch zu verfeinern, indem man zwei Salts benutzt. Dabei wird dem generierten Hash aus Passwort und Salt noch ein weiteres Salt angehängt und aus dem Ganzen dann noch einmal ein Hashwert generiert. Falls man statische Salts benutzt, bietet diese Methode eine gute Möglichkeit, diese zu schützen. Benutzt man jedoch dynamisch generierte Salts, spielt es eigentlich keine Rolle, ob man diese mehrfach nutzt, da schon aus einem Passwort und einem dynamischen Salt kein Rückschluss auf das eigentliche Password gezogen werden kann. Passwortsicherheit reloaded Zur Veranschaulichung haben Sie nun die grundlegenden Vorgehensweisen kennengelernt, mit denen sichere Passwörter in einer Datenbank abgespeichert werden. Wenn man nun im PHP Manual nachliest, wird man dennoch folgende Zeilen entdecken: Hashalgorithmen wie MD5, SHA1 und SHA256 sind auf Geschwindigkeit und Effizienz optimiert. Mit modernen Techniken und leistungsstarker Hardware ist es aber trivial geworden diese Hashalgorithmen mit „brute force“ Attacken anzugreifen. Weil moderne Computer diese Hashalgorithmen leicht brechen können, werden diese von Sicherheitsspezialisten nicht für die Speicherung von Passwörtern empfohlen. Aus diesem Grund gibt es seit der PHP Version 5.5.0 neue Funktionen, wie password_hash() oder password_verify(), die genau für diese neuen Anforderungen ausgelegt sind. Um also auf Nummer Sicher zu gehen verwenden Sie in Zukunft am besten nur noch diese. Unser Code müsste nach obigem Beispiel nun also folgendermaßen aussehen, wenn die neue Funktion zum Erzeugen des Passwort-Hashs berücksichtigt werden soll: Wie sie sehen, ist die Eingabe eines Salts hier bereits obsolet. Die Funktion generiert nämlich ein zufälliges Salt und hängt dieses an unser Passwort an. Somit ist diese Methode nicht nur sicherer, sondern auch noch leichter anwendbar. Hier werden zwei Fliegen mit einer Klappe geschlagen. Sie kennen nun die aktuell wichtigsten Methoden, um Ihre Benutzerkennwörter sicher in Ihrer Datenbank zu speichern. Nutzen Sie die entsprechenden Funktionen für die jeweiligen Sprachen und seien Sie somit auf der sicheren Seite.
    php-einfach.de Link: php-passwort-sicherheit

    Brute Force Angriff

    Brute Force Angriff: Challenge Lösung

    Die einzige Möglichkeit, die Sie haben, um sich gegen Brute-Force-Angriffe zur Wehr zu setzen, ist, ein komplexes Master-Passwort zu verwenden, das entsprechend lang ist und aus einer Kombination aus Buchstaben, Sonderzeichen, Zahlen und Groß-/Kleinschreibung besteht. Denn je komplexer und länger Ihr Passwort ist, desto geringer die Wahrscheinlichkeit, dass die eingesetzte Software durch Zufall Ihre gewählte Kombination "errät", wie Sie anhand der oben aufgeführten Rechenbeispiele erkennen können. Wenn Sie ein neues Passwort in Password Depot erstellen oder mithilfe des Passwort-Generators automatisch generieren lassen, wird Ihnen angezeigt, wie lange es ungefähr dauern würde, dieses Passwort zu knacken. Dabei berücksichtigt Password Depot nicht nur die oben genannten Faktoren, wie die Anzahl der Zeichen, sondern auch andere Schwachstellen, wie Anfälligkeit für Wörterbuchangriffe. Eine weitere Möglichkeit, Brute-Force-Angriffen zu erschweren, ist, den Zeitraum zwischen zwei Login-Versuchen (nach der falschen Eingabe eines Passworts) entsprechend zu verlängern. Dadurch kann auch der Hochleistungsrechner eines Hackers trotz der zahlreichen Berechnungen pro Sekunde, zu denen er theoretisch in der Lage wäre, ausgebremst werden. Genau aus diesem Grund wird in Password Depot das Dialogfeld zur Eingabe des Master-Passworts für einige Sekunden gesperrt, wenn Sie ein falsches Master-Passwort eingegeben haben. Je öfter hintereinander ein falsches Passwort eingeben wird, desto länger wird diese Wartezeit.
    password-depot.de Link: brute_force_angriffe

    Web-Technologien - Tests und Sicherheit #10: Path-Traversal-Angriffe

    Normalerweise sollte von außen nicht auf Dateien eines Webservers außerhalb des Web-Verzeichnisses oder dessen Unterverzeichnisse zugegriffen werden können. Bei einem Directory-Traversal-Angriff versucht ein Angreifer nun mittels manipulierter Pfadangaben auf Dateien außerhalb dieser Verzeichnisse zuzugreifen. Grundlegend für diesen Angriff ist, dass man mit der Angabe von ../ sich in der Verzeichnisstruktur eine Ebene nach oben beziehungsweise mit / zur Wurzel der Verzeichnisstruktur bewegt.
    Wiki Link: Directory_Traversal

    Session Fixation - how to hijack a website using session fixation method

    Sessions in PHP: prevent session fixation attacks

    Methoden zur Verhinderung von Session Hijacking beinhalten: Verschlüsselung des zwischen den Parteien durch SSL / TLS übertragenen Datenverkehrs; insbesondere der Sitzungsschlüssel (obwohl idealerweise der gesamte Datenverkehr für die gesamte Sitzung [11]). Diese Technik wird häufig von webbasierten Banken und anderen E-Commerce-Diensten verwendet, da sie Sniffing-ähnliche Angriffe vollständig verhindert. Es könnte jedoch immer noch möglich sein, eine andere Art von Session-Hijack durchzuführen. Als Antwort darauf schlugen Wissenschaftler der Radboud Universität Nijmegen im Jahr 2013 vor, Session-Hijacking zu verhindern, indem sie die Anwendungssitzung mit den SSL / TLS-Anmeldeinformationen korrelierten [12]. Verwendung einer langen Zufallszahl oder Zeichenfolge als Sitzungsschlüssel Dadurch wird das Risiko verringert, dass ein Angreifer durch Versuche oder Brute-Force-Angriffe einfach einen gültigen Sitzungsschlüssel erraten kann. Erneutes Generieren der Sitzungs-ID nach einer erfolgreichen Anmeldung Dies verhindert eine Sitzungsfixierung, da der Angreifer die Sitzungs-ID des Benutzers nach dem Anmelden nicht kennt. Einige Dienste führen Sekundärprüfungen der Identität des Benutzers durch. Zum Beispiel könnte ein Web-Server bei jeder Anfrage prüfen, ob die IP-Adresse des Benutzers mit der zuletzt während dieser Sitzung verwendeten übereinstimmt. Dies verhindert jedoch nicht Angriffe von jemandem, der die gleiche IP-Adresse teilt, und könnte frustrierend für Benutzer sein, deren IP-Adresse sich während einer Browsersitzung ändern kann. Alternativ ändern einige Dienste den Wert des Cookies mit jeder Anfrage. Dadurch wird das Fenster, in dem ein Angreifer operieren kann, erheblich reduziert, und es kann leichter festgestellt werden, ob ein Angriff stattgefunden hat, aber andere technische Probleme verursachen (z. B. zwei legitime zeitlich engmaschige Anfragen desselben Clients können zu einer Token-Prüfung führen) Fehler auf dem Server). Nutzer möchten sich möglicherweise auch von Websites abmelden, wenn sie sie nicht mehr verwenden. [13] [14] Dies schützt jedoch nicht vor Angriffen wie Firesheep.
    Wiki Link: Session_hijacking
  • 18 Mär. 2018
  • 10:05

    PHP MVC

    CodeIgniter basiert auf dem Model-View-Controller-Entwicklungsmuster. MVC ist ein Software-Ansatz, der die Anwendungslogik von der Präsentation trennt. In der Praxis erlaubt es Ihren Webseiten, minimale Skripte zu enthalten, da die Präsentation von den PHP-Skripten getrennt ist. Weshalb es nun uns zu Erklärung von Grundprinzipen des MVC Modelle dienen soll.

    Model (PHP und MYSQL) :

    Das Modell repräsentiert Ihre Datenstrukturen. In der Regel enthalten Ihre Modellklassen Funktionen, mit denen Sie Informationen in Ihrer Datenbank abrufen, einfügen und aktualisieren können.

    View (HTML und CSS):

    Die View ist die Information, die einem Benutzer präsentiert wird. Eine Ansicht ist normalerweise eine Webseite, aber in CodeIgniter kann eine Ansicht auch ein Seitenfragment wie eine Kopf- oder Fußzeile sein. Es kann auch eine RSS-Seite oder eine andere Art von "Seite" sein.

    Controller (PHP und JS) :

    Der Controller dient als Vermittler zwischen dem Modell, der Ansicht und anderen Ressourcen, die zum Verarbeiten der HTTP-Anforderung und zum Generieren einer Webseite benötigt werden.

    What is programming MVC? [Detailed Explanation]

    Archioteckturen


    Datenbanktypen:
    • Hierarchisches Datenbankmodell
    • Netzwerkdatenbankmodell
    • Relationale Datenbank
    • Objektorientierte Datenbank
    • Dokumentenorientierte Datenbank (NoSQL-Datenbank)
    • XML Datenbank

    Relationale Datenbank:
    • Sammlung von Tabellen und Beziehungen, die miteinander verknüpft sind
    • Jede Zeile in einer Tabelle ist ein Datensatz
    • Jedes Tupel besteht aus einer Reihe von Attributen, den Spalten der Tabelle
    • Es können Verknüpfungen (Beziehungen) über Primärschlüssel hergestellt werden
    • Zum Abfragen und Manipulieren der Daten wird überwiegend die Datenbanksprache SQL eingesetzt
    Relationale Datenbank, Vorteile:
    • Einfach und flexibel zu handhaben
    • Schnell
    • Weite Verbreitung

    Relationale Datenbank, Nachteile:
    • Joins nötig (Segmentierung)
    • Künstliche Schlüsselattribute
    • Erschwerte Integration der Daten beim Einsatz objektorientierter Programmiersprachen

    Objektorientierte Datenbank:
    • Verfolgt den Ansatz, Daten zusammen mit ihren Funktionen in einem Objekt zu speichern
    • Abfrage der Daten kann über die Funktionen des Objektes oder die Objektabfragesprache erfolgen

    Objektorientierte Datenbank, Vorteile:
    • Effizienter Einsatz in Zusammenspiel mit objektorientierten Programmiersprachen
    • Abfragen einfach, da aufwendige Verknüpfungen von Relationen wegfallen
    • Speicherung multimedialer Inhalte und komplexe Datentypen

    Objektorientierte Datenbank, Nachteile:
    • Performance von Transaktionen nimmt mit der Zunahme an zu verarbeitenden Daten schnell ab
    • Aufgrund der geringen Verbreitung gibt es nur wenige Schnittstellen

    Web-Anwendung:
    • Webbrowser auf Clientseite wird zur Darstellung der Anwendung verwendet, Server ist für die Datenhaltung und Anwendungslogik zuständig.
    Web-Anwendung, Vorteile:
    • Keine Installation von Software auf Clientseite nötig
    • Client immer auf neustem Stand
    • Plattformunabhängig
    • Leichtere Wartbarkeit
    Web-Anwendung, Nachteile:
    • Die Performance kann ein Problem sein
    • Zustandshaltung via Sessions (Sicherheitsproblem!)
    • Darstellung je nach Browser unterschiedlich
    • Unterschiede in der JavaScript-Interpretation

    Desktop-Anwendung:
    • Fat-Client: Anwendungslogik, Darstellung (und ggf. Datenhaltung) in einer Software.

    Desktop-Anwendung, Vorteile:
    • Zustandshaltung, z.B. geöffnetes Worddokument
    • Umfangreiche Menüfunktionen
    • Schnelle Reaktion auf Eingaben durch Aktualisierung von einzelnen Teilen einer Seite

    Desktop-Anwendung, Nachteile:
    • Meist sehr umfangreiche Installation erforderlich
    • Updates müssen auf jedem Client durchgeführt werden

  • 18 Mär. 2018
  • 10:05

    PHP MySQLi-PHP-API

    MySQLi ist eine Erweiterung von PHP für den Zugriff auf MySQL- bzw. MariaDB-Datenbanken. Sie lässt sich sowohl prozedural als auch objektorientiert verwenden. In diesem Modul werden z.T. bei-de Varianten gezeigt, bevorzugt wird aber die prozedurale Syntax. Für die Aufgaben können Sie sich frei zwischen den beiden Varianten entscheiden.
  • 18 Mär. 2018
  • 10:05

    PHP PhpMyAdmin

    PhpMyAdmin ist quasi die Standardsoftware für das Verwaltungen von MySQL Datenbanken und ist bei so gut wie jedem Webhosting-Anbieter bereits vorinstalliert. Sofern ihr XAMPP nutzt könnt ihr die lokale phpMyAdmin-Installation unter http://localhost/phpmyadmin/ erreichen. Sofern es noch nicht vorinstalliert sein solltet, so ladet phpMyAdmin von der Website runter und entpackt das zip-Archiv in euren htdocs Order. Schon könnt ihr dieses Programm mittels eurem Webbrowser aufrufen.

    Erste mySQL Datenbankabfrage für Dummies - leicht erklärt - Deutsch

    Fremdschlüssel in PHPMyAdmin eintragen

  • 18 Mär. 2018
  • 10:05

    PHP Was ist XAMPP?

    XAMPP ist eine Zusammenstellung von freier Software, die man auf dem PC installieren kann. Dadurch kann man seinen eigenen PC in einen Home Server für das Web erstellen, was nicht zu emphelen ist. Man kann es auch so einstellen das man es offline nützen kann, damit man PHP Skripte und andere Dateien testen kann bevor man sie z.B. installiert oder zum Download anbietet. XAMPP ist eine Abkürzung, wie manche sich schon denken konnten.

    X = Ein X - Beliebiges Betriebsystem: z.B Windows, Mac, Linux
    A = Apache
    M = MySQL
    P = PHP
    P = Perl XAMPP enthält zusätzlich andere nützliche Werkzeuge wie den FTP-Server ProFTPd oder FileZilla Server, den Mailserver Mercury, phpMyAdmin, Webalizer und OpenSSL.

    Apache 2.2.14 (IPv6 enabled) + OpenSSL 0.9.8l
    MySQL 5.1.41 + PBXT engine
    PHP 5.3.1
    phpMyAdmin 3.2.4
    Perl 5.10.1
    FileZilla FTP Server 0.9.33
    Mercury Mail Transport System 4.72

    Introduction to XAMPP

  • 18 Mär. 2018
  • 10:05

    PHP Was ist das?

    Unter den serverseitigen Programmiersprachen ist PHP mit ca. 80% (Stand Juni 2015) die verbreitetste. Serverseitig bedeutet dabei, dass die Sprache nur Aktionen auf dem Server durchführen kann: Sie kann beipielsweise Verbindungen zu einer Datenbank aufbauen oder Dateien auf dem Server löschen.
    Eine HTML-Datei können Sie leicht in PHP umwandeln. Sie müssen dazu die HTML-Datei einfach unter .php abspeichern. Diese PHP-Datei können Sie - ohne eigentlichen PHP-Code - auf Ihren Server hochladen und aufrufen. Die Ausgabe ist dabei unverändert.
    PHP - dafür wird die Programmiersprache benutzt
    PHP kann verwendet werden, um Nutzereingaben zu verarbeiten. Möchten Sie auf Ihrer Website beispielsweise ein Kontaktformular einbauen, so müssen die Eingaben weiterverarbeitet werden. Nur mit HTML ist dies nicht möglich. Mit PHP können Sie zum Beispiel überprüfen, ob alle Felder ausgefüllt wurden und im Erfolgsfall eine Mail versenden.
    Wenn Sie Inhalte aus einer Datenbank abrufen wollen, bietet es sich an, PHP einzusetzen. Möchten Sie beispielsweise eine Nachrichten-Website programmieren, können Sie Ihre Texte in einer Datenbank abspeichern und diese dann mit PHP an den gewünschten Stellen in Ihrem HTML-Code ausgeben. Sie müssen so nicht für jeden Artikel eine einzelne HTML-Datei erstellen und können Änderungen deutlich schneller umsetzen.

    PHP Tutorial deutsch: Was ist PHP? Wie kann man PHP lernen