Coding

In dieser Kategorie findest du Beiträge zum Thema Programmieren und Webentwicklung.

Raspberry Pi: Sense HAT

Letztens habe ich mir einen neuen Raspberry Pi 3 zusammen mit dem Sense HAT-Modul und einigen anderen Komponenten bestellt. Die Hauptattraktion des Sense HAT ist das auf der Platine befindliche LED-Pixelfeld und ein kleiner Joystick. Außerdem befinden sich noch diverse Sensoren auf der Platine. Das […] zum Beitrag

Facebook's BigPipe: Pipelining-Technik für Webseiten

Beim Seitenaufbau einer Webseite mit vielen Javascript- und CSS-Dateien kommt es oft dazu, dass man als Besucher beobachten kann wie der Webbrowser das Layout nacheinander darstellt. Das ist besonders dann der Fall, wenn eingebundene Javascript-Dateien das Rendering blockieren, weil sie noch nicht […] zum Beitrag

Cross-Site-Request-Forgery (CSRF): Angriffe mit PHP verhindern

Bei einem Cross-Site-Request-Forgery-Angriff lockt der Angreifer einen Benutzer, der mit seinem Browser bei einem angreifbaren Dienst eingeloggt ist, auf eine präparierte Website, die dann Aktionen beim angreifbaren Dienst mit den Berechtigungen des eingeloggten Benutzers ausführt. Wenn zum Beispiel die Nachrichtenfunktion eines soziales Netzwerk angreifbar für CSRF ist, könnte der Angreifer im Namen des Opfers an eine beliebige Person Nachrichten verschicken oder andere […] zum Beitrag

JSON: Ein kompaktes, strukturiertes Datenformat

Das JSON-Format ist ein kompaktes Datenformat für einfach strukturierte Daten. Die Syntax beschränkt sich dabei auf einige wichtige Zeichen zum Einleiten von Objekten, Arrays und Strings, wodurch sich der Overhead in Grenzen hält. JSON-Strings lassen sich in vielen Programmiersprachen auf einfache Weise parsen. So kann man zum Beispiel einen AJAX-Request entgegen nehmen und den JSON-String dann in ein ganz normales PHP-Objekt verwandeln.
Und falls man eine Antwort auf die […] zum Beitrag

CSS: Tabellendarstellung ohne <table>-Tag

Die HTML-Tabellenelemente sollte man grundsätzlich nur für die Darstellung von Daten verwenden und nicht für das Layout oder andere Sachen, die so dargestellt werden sollen wie Tabellen. Wenn man trotzdem bestimmte Elemente wie Tabellen darstellen lassen will, kann man das sauberer mit CSS machen. CSS bietet uns nämlich genau die Möglichkeiten, die die typischen Tabellenelemente auch können.
Wann verwendet man Tabellenelemente und wann CSS-Eigenschaften?
Wie schon gesagt, […] zum Beitrag

PHP: Klasse für einfachen Zugriff auf HTTP-Informationen

Um den Zugriff auf bestimmte HTTP-Informationen, Überprüfungsfunktionen und einzelne Schlüssel des $_SERVER-Arrays zu erleichtern und übersichtlicher zu machen, habe ich eine kleine statische HTTP-Klasse geschrieben, die diese Dinge ermöglicht. Die Klasse ersetzt vollständig den Zugriff über $_SERVER für bestimmte HTTP-Informationen.
Auf die Request-Parameter kann ebenfalls zugegriffen werden, womit $_GET, $_POST und $_FILES wegfallen. Außerdem werden die $_GET- und $_POST- […] zum Beitrag

C++: Windows API-Hooking – Rootkit-Techniken (Gastartikel)

Dieser Artikel ist ein Gastartikel von Patrick Hahn.
In diesem Artikel geht es um Rootkits und Techniken, die sie verwenden. Speziell geht es um API-Hooking. Doch vorher: Was ist ein Rootkit? Ein Rootkit ist eine Art von Malware. Sie kommt meistens mit anderen Arten, beispielsweise Botclients, Viren […] zum Beitrag

PHP: CSS-Dateien mit GZIP komprimieren

Um das Laden von CSS-Dateien auf der eigenen Webseite bei wenig Bandbreite zu beschleunigen, kann man die Dateien einfach über PHP mit GZIP komprimieren lassen. Dabei kann man die Größe der CSS-Datei um sagenhafte 70 bis 80 Prozent verkleinern. Bei großen CSS-Dateien macht das also wirklich einen großen Unterschied. Die Implementierung in bestehende Webseiten ist ebenso einfach und schnell durchgeführt.
GZIP-Komprimierung: Der Umweg über PHP
Es muss neben der normalen CSS- […] zum Beitrag

PHP: Die Singleton PDO-Datenbankklasse

Eine Datenbankklasse sollte im Normalfall nur eine einzige Verbindung zum Datenbankserver herstellen. Aus diesem Grund ist es sinnvoll, wenn man die Datenbankklasse als Singleton schreibt. Es gibt auch Fälle, in denen man mehrere Verbindungen zum Datenbankserver brauchen könnte, aber normalerweise reicht eine Verbindung zur Datenbank vollkommen aus.
Die PDO-Datenbankklasse als Singleton
Im Folgenden bauen wir eine ganz simple Singleton-Datenbankklasse, die die PDO-Klasse erbt […] zum Beitrag

PHP: Das Singleton-Pattern

Von Klassen kann man in der Regel beliebig viele Instanzen erstellen, um mehrere Objekte zu haben. Es gibt aber auch Fälle, wo man explizit nur eine einzige Instanz einer Klasse im gesamten Projekt haben sollte. Eine Datenbankklasse wäre da als Beispiel ganz gut. Würde man in jeder anderen Klasse ein neues Datenbankobjekt erzeugen, dann würden unnötige Datenbank-Verbindungen aufgebaut werden.
Wann wendet man das Singleton-Pattern an?
Um das oben beschriebene Problem zu […] zum Beitrag