PHP

Cards (36)

  • Affenformular ABlauf
    - Formular verweist auf sich
    - Formular wird mit bisher eingegebenen Werten ausgefüllt
    - Fehlermeldung im Formular bei fehgeschlagener Gültigkeitsprüfung
    - Weiterverarbeitung findet erst nach Gültigkeitsprüfung statt
  • PHP Data Objects (PDO)
    - Abstraktionsschicht für den Datenbankzugriff
    - dieselben Methoden können für verschiedene Datenbanktypen verwendet werden
    - objektorientiert
    - prepared statements verhindern SQL Injection
    - erweiterte Fehlerbehandlung (Exceptions)
  • CRUD
    Create: Datensatz erstellen (INSERT)
    Read: Datensatz lesen (SELECT)
    Update: Datensatz verändern (UPDATE)
    Destroy: Datensatz löschen (DELETE)
  • Affenformular
    ist eine Codebasis bei der Verarbeitung von Webformularen. Sein Hauptzweck ist die Erstellung einer grundlegenden Formularverarbeitung: Darstellung eines Forms, Prüfung des Status, Selbstaufruf mit wiederaufgefüllten Eingabefeldern.
  • SQL-Injection Lösung
    - Maskierungen von Sonderzeichen (Apostroph, Anführungszeichen, Backslash, doppelter Bindestrich)
    - Verwendung von sogennanten prepared statements
  • SQL-Injection Voraussetzungen
    - Verwendung einer SQL-Datenbank
    - Eingabemöglichkeit (z.B. Webformular)
    - Applikation leitet die Eingabe ungefiltert an die Datenbank weiter
  • SQL-Injection
    Einschleusen von fremden SQL-Code in die Anwendung
    häufigste Sicherheitslücke bei Webapplikationen mit Datenbankanbindungen
  • mysqli_close
    schließt die Verbindung zur Datenbanl
  • mysqli_select_db

    wählt die verwendete Datenbank aus
  • mysqli_fetch_array
    Liefert ein Array der Zeile oder NULL, falls keine Zeilen mehr übrig sind
  • mysqli_query
    setzt eine SQL_Abfrage ab und liefert ein Handle zurück und somit kein Ereignis
  • Regular Expressions
    - Muster, die eine Menge von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln beschreiben
    - werden oft als Suchmuster und zur Textverarbeitung verwendet
  • Literal
    Muster aus Zeichenfolgen (findet genau diese Folge)
    Groß- und Kleinschreibung beachten
    Metazeichen müssen mit "\" maskiert werden: [ \ ^ $ . ] ? * + - ( )
    ● Man kann alle Sonderzeichen bedenkenlos maskieren (Vorsicht beim
    Maskieren von alphabetischen Zeichen)
  • Zeichenklassen
    ● werden innerhalb von eckigen Klammern definiert:
    []
    Negierte Klassen enthalten "^" (Zirkumflex) als erstes Zeichen
    ● ASCII-Bereich kann mit "-" definiert werden:
    [-]
    Metazeichen müssen mit "\" maskiert werden
  • Vordefinierte Zeichenklassen

    \d [0-9] Zahl
    \w [A-Za-z0-9_] Wort
    \s [ \t\r\n] Leerzeichen
    \W [^\w] kein Wort
    \S [^\s] kein Leerzeichen
  • Wiederholung + und *

    ● "*" sucht den davor stehenden Ausdruck kein- bis unendlich mal
    ● "+" sucht den davor stehenden Ausdruck ein- bis unendlich ma
  • Wiederholung
    ● "?" sucht den davor stehenden Ausdruck kein- bis einmal
    ● Eigene Wiederholungsmuster können mit geschweiften Klammern
    definiert werden:
    ● {x}: genau x-mal
    ● {x,}: mindestens x-mal
    ● {0,x}: keinmal bis höchstens x-mal
    ● {x,y}: mindestens x-mal und höchstens y-ma
  • Platzhalter
    ● "." findet irgendein Zeichen außer Zeilenumbruch (. = [^\r\n])
    ● ".*" passt auf alle Zeichen (0mal bis beliebig oft)
    ● ".*" sollte mit Bedacht eingesetzt werden
    (negierte Gruppen sind evtl. die bessere Lösung)
  • Greedy vs. Lazy
    Wiederholungszeichen haben ein spezielles Verhalten in Kombination
    mit dem "."-Zeichen
    Alle Wiederholungszeichen ( *, +, {} ) suchen soviel wie möglich (greedy)
    ● Umkehrung des "greedy"-Verhaltens mit "?" (lazy - so wenig wie möglich)
  • Gruppen
    ● Reguläre Ausdrücke können mit runden Klammern gruppiert werden:
    ()
    Gruppierung von regulären Ausdrücken speichert den gefundenen Wert
    unter fortlaufender Nummer von links nach rechts (Start: 1)
    ● Unter der Nummer 0 ist der komplette Fund gespeichert
    Zugriff auf gespeicherte Werte über: \
    ● Unterbindung der Speicherung einer Gruppe mit "?:" am Anfang:
    (?:)
  • Anker

    ● "^" am Anfang eines regulären Ausdrucks entspricht dem Anfang einer
    Zeichenkette (Zeilenanfang)
    ● "$" am Ende eines regulären Ausdrucks entspricht dem Ende einer
    Zeichenkette (Zeilenende)
    ● Die Kombination beider findet eine Zeichenkette exakt von Anfang bis
    Ende
  • Auswahl
    ● Das "|"-Zeichen erlaubt mehrere Auswahlmöglichkeiten zwischen
    verschiedenen regulären Ausdrücken
    ● Entweder "regex A" oder "regex B" oder "regex C":
    ||
  • Was macht PDO
    bietet eine Abstraktionsschicht für den Datenzugriff, das bedeutet, dass unahängig von der verwendeten Datenbank dieselben Funktionen verwendet werden können, um Abfragen zu erstellen und Daten zu lesen
  • Unterschiede query und array Funktionalität
    mysqli_query() führt eine SQL-Abfrage aus und gibt einen Ergebnissatz zurück.
    mysqli_fetch_array() ruft eine Zeile aus dem Ergebnissatz als Array ab.
  • Unterschiede query und array Verwendung
    mysqli_query() wird verwendet, um eine SQL-Abfrage auszuführen.
    mysqli_fetch_array() wird verwendet, um Daten aus dem Ergebnissatz einer SQL-Abfrage abzurufen.
  • Unterschiede query und array Rückgabewert
    mysqli_query() gibt einen Ergebnissatz zurück, der dann von Funktionen wie mysqli_fetch_array() weiterverarbeitet werden kann.
    mysqli_fetch_array() gibt die abgerufene Zeile als Array zurück.
  • Wie arbeiten querry und array zusammen
    mysqli_query: Diese Funktion wird verwendet, um eine SQL-Abfrage an die Datenbank zu senden und das Ergebnisobjekt zurückzugeben. Sie nehmen normalerweise zwei Parameter an: die Verbindungsvariable zur Datenbank und die SQL-Abfrage.
    mysqli_fetch_array: Diese Funktion wird verwendet, um Zeilen aus dem Ergebnisobjekt zurückzugeben, das von mysqli_query zurückgegeben wird. Sie können verschiedene Formate für das Ergebnis festlegen, wie z. B. assoziatives Array, numerisches Array oder beides.
  • Unterschied Cookie und Session Speicherort
    Cookie: Ein Cookie ist eine kleine Textdatei, die auf dem Computer des Benutzers gespeichert wird. Der Browser sendet diese Cookies bei jeder Anfrage an den Server, um Informationen zu übermitteln.
    Session: Eine Session speichert Daten auf dem Server. Der Browser erhält lediglich eine eindeutige Kennung (Session-ID), mit der der Server die entsprechenden Daten der aktuellen Sitzung abrufen kann
  • Unterschied Cookie und Session Lebensdauer
    Cookie: Cookies haben eine variable Lebensdauer. Sie können so konfiguriert werden, dass sie nur für die Dauer der Browsersitzung (Session-Cookie) oder für einen längeren Zeitraum (persistentes Cookie) aufbewahrt werden.
    Session: Sessions werden normalerweise nach einer gewissen Inaktivitätszeit gelöscht oder wenn der Benutzer sich abmeldet. Sie leben also nur für die Dauer der aktuellen Sitzung.
  • Unterschied Cookie und Session Speicherung von Daten
    Cookie: Cookies können verschiedene Arten von Daten speichern, z. B. Benutzereinstellungen, Präferenzen oder Tracking-Informationen.
    Session: Sessions werden oft für sensiblere Daten wie Anmeldeinformationen oder den Warenkorb in einem E-Commerce-System verwendet.
  • Unterschied Cookie und Session Sicherheit
    Cookie: Cookies können anfällig für Sicherheitsrisiken wie Cross-Site-Scripting (XSS) und Cross-Site-Request-Forgery (CSRF) sein, wenn sie nicht ordnungsgemäß gesichert sind.
    Session: Da die Session-Daten auf dem Server gespeichert sind und nur die Session-ID im Cookie gespeichert wird, sind Sessions tendenziell sicherer als Cookies.
  • Cookies
    ● speichern clientseitig Informationen zwischen http-Aufrufen
    ● benötigt nach DSGVO Zustimmung des Webseitenbesucher
  • Cookies auslesen
    $_COOKIE: Superglobales assoziatives Array, enthält alle Cookie-Daten
    ● mit isset-Funktion prüfen, ob der Cookie gesetzt wurde
    ● Cookie löschen mit unset-Funktion
  • Session
    ● Sessions bilden eine Benutzersitzung ab
    ● speichern Daten zwischen einzelnen http-Aufrufen
    ● jedem Besucher der Webseite wird eine
    eindeutige Session-ID zugewiesen
    ● diese Session-ID wird in einem Cookie
    gespeichert (normalerweise "PHPSESSID")
    ● Sessiondaten werden in temporären Dateien auf
    dem Server gespeichert
  • Sessionverwaltung
    Sessionverwaltung starten mit dem Befehl session_start()
    ● muß an den Beginn jedes PHP-Skripts mit Sessionverwaltung gesetzt
    werden
    ● Zugriff auf Sessiondaten über superglobales Array $_SESSION
    ● mit isset-Funktion prüfen, ob Variable gesetzt wurde
  • sequentieller Dateizugriff

    ermöglicht das Lesen und Schreiben von Dateien Zeile für Zeile oder den Zugriff auf den gesamten Inhalt einer Datei in einer vordefinierten Reihenfolge, was je nach Anwendungsfall verschiedene Operationen wie Datenverarbeitung oder Aktualisierung ermöglicht.